diff --git a/Data b/Data
index 47e6e5abb78b8151c9748af44e09efcbee810fac..968325e6a734e3967c1aff15138f72b6b13edf0b 160000
--- a/Data
+++ b/Data
@@ -1 +1 @@
-Subproject commit 47e6e5abb78b8151c9748af44e09efcbee810fac
+Subproject commit 968325e6a734e3967c1aff15138f72b6b13edf0b
diff --git a/Documentation/Examples/cascade_example.cc b/Documentation/Examples/cascade_example.cc
index b77dcea923b9c5c40137420c893c72b47561a579..c988b4f5db6814468ade253002ded2358ff8a747 100644
--- a/Documentation/Examples/cascade_example.cc
+++ b/Documentation/Examples/cascade_example.cc
@@ -137,21 +137,22 @@ int main() {
 
   random::RNGManager::GetInstance().RegisterRandomStream("sibyll");
   random::RNGManager::GetInstance().RegisterRandomStream("pythia");
-  //random::RNGManager::GetInstance().RegisterRandomStream("proposal");
+  // random::RNGManager::GetInstance().RegisterRandomStream("proposal");
   process::sibyll::Interaction sibyll;
   process::sibyll::NuclearInteraction sibyllNuc(sibyll, env);
   process::sibyll::Decay decay;
   // cascade with only HE model ==> HE cut
   process::particle_cut::ParticleCut cut(80_GeV, true, true);
-  //process::proposal::Interaction proposal(env, cut);
+  // process::proposal::Interaction proposal(env, cut);
 
   process::track_writer::TrackWriter trackWriter("tracks.dat");
   process::energy_loss::EnergyLoss eLoss{showerAxis};
 
   // assemble all processes into an ordered process list
-  auto sequence = stackInspect << sibyll << sibyllNuc /* << proposal*/ << decay
-      /* << eLoss */
-      << cut << trackWriter;
+  auto sequence = stackInspect << sibyll << sibyllNuc /* << proposal*/
+                               << decay
+                               /* << eLoss */
+                               << cut << trackWriter;
 
   // define air shower object, run simulation
   cascade::Cascade EAS(env, tracking, sequence, stack);
diff --git a/Documentation/Examples/proposal_example.cc b/Documentation/Examples/proposal_example.cc
index d0699c45e69f9d0cf934c60bddab4780db388e0d..0494ce8a54d86027b999a69ee70818837944c2fb 100644
--- a/Documentation/Examples/proposal_example.cc
+++ b/Documentation/Examples/proposal_example.cc
@@ -19,15 +19,15 @@
 #include <corsika/process/longitudinal_profile/LongitudinalProfile.h>
 #include <corsika/process/observation_plane/ObservationPlane.h>
 #include <corsika/process/particle_cut/ParticleCut.h>
+#include <corsika/process/proposal/ContinuousProcess.h>
+#include <corsika/process/proposal/Interaction.h>
+#include <corsika/process/track_writer/TrackWriter.h>
 #include <corsika/process/tracking_line/TrackingLine.h>
 #include <corsika/random/RNGManager.h>
 #include <corsika/setup/SetupStack.h>
 #include <corsika/setup/SetupTrajectory.h>
 #include <corsika/units/PhysicalUnits.h>
 #include <corsika/utl/CorsikaFenv.h>
-#include <corsika/process/track_writer/TrackWriter.h>
-#include <corsika/process/proposal/Interaction.h>
-#include <corsika/process/proposal/ContinuousProcess.h>
 
 #include <iomanip>
 #include <iostream>
@@ -147,12 +147,8 @@ int main(int argc, char** argv) {
   process::observation_plane::ObservationPlane observationLevel(obsPlane,
                                                                 "particles.dat");
 
-  auto sequence = proposalCounted
-      << cut
-      << em_continuous
-      << longprof
-      << observationLevel
-      << trackWriter;
+  auto sequence = proposalCounted << cut << em_continuous << longprof << observationLevel
+                                  << trackWriter;
   // define air shower object, run simulation
   tracking_line::TrackingLine tracking;
   cascade::Cascade EAS(env, tracking, sequence, stack);
diff --git a/Processes/ParticleCut/ParticleCut.cc b/Processes/ParticleCut/ParticleCut.cc
index d7af1c81c61f4d2a004cd9d034f9e1a3169a7395..1b099576500dff4e320b95bf0cd69331bc338dd7 100644
--- a/Processes/ParticleCut/ParticleCut.cc
+++ b/Processes/ParticleCut/ParticleCut.cc
@@ -64,12 +64,12 @@ namespace corsika::process {
         cout << "ProcessCut: DoSecondaries: " << pid << " E= " << energy
              << ", EcutTot=" << (emEnergy_ + invEnergy_ + energy_) / 1_GeV << " GeV"
              << endl;
-	if (cutEm_ && ParticleIsEmParticle(pid)) { 
-	  cout << "removing em. particle..." << endl; 
-	  emEnergy_ += energy; 
-	  emCount_ += 1; 
-	  p.Delete(); 
-	} else if (cutInv_ && ParticleIsInvisible(pid)) {
+        if (cutEm_ && ParticleIsEmParticle(pid)) {
+          cout << "removing em. particle..." << endl;
+          emEnergy_ += energy;
+          emCount_ += 1;
+          p.Delete();
+        } else if (cutInv_ && ParticleIsInvisible(pid)) {
           cout << "removing inv. particle..." << endl;
           invEnergy_ += energy;
           invCount_ += 1;
@@ -90,7 +90,9 @@ namespace corsika::process {
     }
 
     ParticleCut::ParticleCut(const units::si::HEPEnergyType eCut, bool em, bool inv)
-      : eCut_(eCut), cutEm_(em), cutInv_(inv) {
+        : eCut_(eCut)
+        , cutEm_(em)
+        , cutInv_(inv) {
 
       emEnergy_ = 0_GeV;
       emCount_ = 0;
diff --git a/Processes/ParticleCut/ParticleCut.h b/Processes/ParticleCut/ParticleCut.h
index 74796f9e20beceb8b55c7e3656f47b46d1f38539..68639471a90b73927cba40f2cea36ab5fe243c0a 100644
--- a/Processes/ParticleCut/ParticleCut.h
+++ b/Processes/ParticleCut/ParticleCut.h
@@ -16,17 +16,17 @@
 namespace corsika::process {
   namespace particle_cut {
     class ParticleCut : public process::SecondariesProcess<ParticleCut> {
-      
+
       units::si::HEPEnergyType const eCut_;
       bool cutEm_;
       bool cutInv_;
-      
+
       units::si::HEPEnergyType energy_ = 0 * units::si::electronvolt;
       units::si::HEPEnergyType emEnergy_ = 0 * units::si::electronvolt;
       unsigned int emCount_ = 0;
       units::si::HEPEnergyType invEnergy_ = 0 * units::si::electronvolt;
-      unsigned int invCount_ = 0;     
-      
+      unsigned int invCount_ = 0;
+
     public:
       ParticleCut(const units::si::HEPEnergyType eCut, bool em, bool inv);
 
diff --git a/Processes/ParticleCut/testParticleCut.cc b/Processes/ParticleCut/testParticleCut.cc
index 7b3ce99eae1a166bc50efca8b40113872f8b3713..e7647a55d7a1b3884d6672adc42f02757577be38 100644
--- a/Processes/ParticleCut/testParticleCut.cc
+++ b/Processes/ParticleCut/testParticleCut.cc
@@ -102,7 +102,7 @@ TEST_CASE("ParticleCut", "[processes]") {
 
     CHECK(view.GetSize() == 9);
   }
-  
+
   SECTION("cut low energy") {
     ParticleCut cut(20_GeV, true, true);
 
diff --git a/Processes/Proposal/ContinuousProcess.h b/Processes/Proposal/ContinuousProcess.h
index c5f6fb701390ca52018cf1d308f30dbb06269ffc..cbb5a337c74c727fc9fc1574f4f666a6f3e4ed4a 100644
--- a/Processes/Proposal/ContinuousProcess.h
+++ b/Processes/Proposal/ContinuousProcess.h
@@ -113,4 +113,3 @@ namespace corsika::process::proposal {
     corsika::units::si::LengthType MaxStepLength(Particle const&, Track const&);
   };
 } // namespace corsika::process::proposal
-
diff --git a/Processes/Proposal/Interaction.cc b/Processes/Proposal/Interaction.cc
index b1f25c96e6e389efb2a98bd0ae2a4f6c6761d812..8e8b08c2b266e8cb7dd3641477b94891c3f489a0 100644
--- a/Processes/Proposal/Interaction.cc
+++ b/Processes/Proposal/Interaction.cc
@@ -6,7 +6,6 @@
  * the license.
  */
 
-
 #include <corsika/environment/IMediumModel.h>
 #include <corsika/environment/NuclearComposition.h>
 #include <corsika/process/proposal/Interaction.h>
diff --git a/do-clang-format.py b/do-clang-format.py
index a23d76e225435c9b647947848952fdbe45a1bf69..3b760eadb0d7923584d0df41462aabb2f39bdc5f 100755
--- a/do-clang-format.py
+++ b/do-clang-format.py
@@ -20,7 +20,12 @@ args = parser.parse_args()
 filelist = []
 if args.all:
     for dirpath, dirnames, filenames in os.walk("."):
-        if "ThirdParty" in dirpath:
+        doExclude = False
+        for exclude in ["ThirdParty", "PROPOSAL", "include", "build"]:
+            if exclude in dirpath:
+                doExclude = True
+                break
+        if doExclude:
             continue
         for f in filenames:
             if f.endswith(".h") or f.endswith(".cc"):