diff --git a/Environment/Environment.h b/Environment/Environment.h
index 338da588ace867717a0088ad740b6d428388f47e..d7ac8d14a98e19d852c7151c0069dc928d018e39 100644
--- a/Environment/Environment.h
+++ b/Environment/Environment.h
@@ -35,7 +35,7 @@ namespace corsika::environment {
   class Environment {
   public:
     using BaseNodeType = VolumeTreeNode<IEnvironmentModel>;
-  
+
     Environment()
         : fCoordinateSystem{corsika::geometry::RootCoordinateSystem::GetInstance()
                                 .GetRootCoordinateSystem()}
@@ -65,8 +65,8 @@ namespace corsika::environment {
     typename BaseNodeType::VTNUPtr fUniverse;
   };
 
-  //using SetupBaseNodeType = VolumeTreeNode<corsika::setup::IEnvironmentModel>;
-  //using SetupEnvironment = Environment<corsika::setup::IEnvironmentModel>;
+  // using SetupBaseNodeType = VolumeTreeNode<corsika::setup::IEnvironmentModel>;
+  // using SetupEnvironment = Environment<corsika::setup::IEnvironmentModel>;
 
 } // namespace corsika::environment
 
diff --git a/Environment/VolumeTreeNode.h b/Environment/VolumeTreeNode.h
index b2ad362035167bde2c18733e38fe0b8ae3a7863e..a9b790035817c7010cd85537cc71d85594e286ba 100644
--- a/Environment/VolumeTreeNode.h
+++ b/Environment/VolumeTreeNode.h
@@ -12,8 +12,8 @@
 #ifndef _include_VolumeTreeNode_H
 #define _include_VolumeTreeNode_H
 
-#include <corsika/geometry/Volume.h>
 #include <corsika/environment/IMediumModel.h>
+#include <corsika/geometry/Volume.h>
 #include <memory>
 #include <vector>
 
diff --git a/Framework/Cascade/testCascade.h b/Framework/Cascade/testCascade.h
index d8c553a0f4e0df7cb90deffee06239b042d4ded5..72bd1fb5f86da1d6463bc3c0b1afb33a733f53e9 100644
--- a/Framework/Cascade/testCascade.h
+++ b/Framework/Cascade/testCascade.h
@@ -4,16 +4,19 @@
 #include <corsika/environment/Environment.h>
 #include <corsika/setup/SetupStack.h>
 
-using TestEnvironmentType = corsika::environment::Environment<corsika::environment::IMediumModel>;
+using TestEnvironmentType =
+    corsika::environment::Environment<corsika::environment::IMediumModel>;
 
 template <typename T>
 using SetupGeometryDataInterface = GeometryDataInterface<T, TestEnvironmentType>;
 
 // combine particle data stack with geometry information for tracking
 template <typename StackIter>
-using StackWithGeometryInterface =
-        corsika::stack::CombinedParticleInterface<corsika::setup::detail::ParticleDataStack::PIType,
-                                                  SetupGeometryDataInterface, StackIter>;
-using TestCascadeStack = corsika::stack::CombinedStack<typename corsika::setup::detail::ParticleDataStack::StackImpl, GeometryData<TestEnvironmentType>, StackWithGeometryInterface>;
+using StackWithGeometryInterface = corsika::stack::CombinedParticleInterface<
+    corsika::setup::detail::ParticleDataStack::PIType, SetupGeometryDataInterface,
+    StackIter>;
+using TestCascadeStack = corsika::stack::CombinedStack<
+    typename corsika::setup::detail::ParticleDataStack::StackImpl,
+    GeometryData<TestEnvironmentType>, StackWithGeometryInterface>;
 
 #endif
diff --git a/Framework/Geometry/Trajectory.h b/Framework/Geometry/Trajectory.h
index dd47208fc7840e64b96428f7dbd28c23176cc92a..1718fa2c492c896901ea85311d2e2314bd61cc17 100644
--- a/Framework/Geometry/Trajectory.h
+++ b/Framework/Geometry/Trajectory.h
@@ -11,8 +11,8 @@
 #ifndef _include_TRAJECTORY_H
 #define _include_TRAJECTORY_H
 
-#include <corsika/geometry/Point.h>
 #include <corsika/geometry/Line.h>
+#include <corsika/geometry/Point.h>
 #include <corsika/units/PhysicalUnits.h>
 
 namespace corsika::geometry {
@@ -47,10 +47,10 @@ namespace corsika::geometry {
     void LimitEndTo(corsika::units::si::LengthType limit) {
       fTimeLength = T::TimeFromArclength(limit);
     }
-    
+
     auto NormalizedDirection() const {
-        static_assert(std::is_same_v<T, corsika::geometry::Line>);
-        return T::GetV0().normalized();
+      static_assert(std::is_same_v<T, corsika::geometry::Line>);
+      return T::GetV0().normalized();
     }
   };
 
diff --git a/Framework/ProcessSequence/BoundaryCrossingProcess.h b/Framework/ProcessSequence/BoundaryCrossingProcess.h
index 18dcd85ddd5058d61bc8d11c77b9d5c3544c036c..7ca73cb3644fb70ecdb09bb356d3773feba14762 100644
--- a/Framework/ProcessSequence/BoundaryCrossingProcess.h
+++ b/Framework/ProcessSequence/BoundaryCrossingProcess.h
@@ -25,8 +25,7 @@ namespace corsika::process {
      * \p from and \p to.
      */
     template <typename Particle, typename VTNType>
-    EProcessReturn DoBoundaryCrossing(Particle&, VTNType const& from,
-                                      VTNType const& to);
+    EProcessReturn DoBoundaryCrossing(Particle&, VTNType const& from, VTNType const& to);
   };
 
   template <class T>
diff --git a/Framework/Utilities/Singleton.h b/Framework/Utilities/Singleton.h
index dd0ff2ceff144b92eb69ba7b614f0d8290267755..80c272d58bff6cea52fbd2083fdfb7e4238b9b60 100644
--- a/Framework/Utilities/Singleton.h
+++ b/Framework/Utilities/Singleton.h
@@ -45,12 +45,11 @@ namespace corsika::utl {
   template <typename T>
   class Singleton {
   public:
-    static T& GetInstance()
-    {
+    static T& GetInstance() {
       static T instance;
       return instance;
     }
-    
+
     Singleton(const Singleton&) = delete;
     Singleton& operator=(const Singleton&) = delete;
 
diff --git a/Processes/HadronicElasticModel/HadronicElasticModel.h b/Processes/HadronicElasticModel/HadronicElasticModel.h
index d0826a304ec39c7f1b7fac8517cc869f8b21650d..acf7d96b8786bcc63d1e066e5357cf043de17b0e 100644
--- a/Processes/HadronicElasticModel/HadronicElasticModel.h
+++ b/Processes/HadronicElasticModel/HadronicElasticModel.h
@@ -51,9 +51,9 @@ namespace corsika::process::HadronicElasticModel {
     corsika::units::si::CrossSectionType CrossSection(SquaredHEPEnergyType s) const;
 
   public:
-    HadronicElasticInteraction(// x & y values taken from DL for pp collisions
-                               units::si::CrossSectionType x = 0.0217 * units::si::barn,
-                               units::si::CrossSectionType y = 0.05608 * units::si::barn);
+    HadronicElasticInteraction( // x & y values taken from DL for pp collisions
+        units::si::CrossSectionType x = 0.0217 * units::si::barn,
+        units::si::CrossSectionType y = 0.05608 * units::si::barn);
     void Init();
 
     template <typename Particle, typename Track>
diff --git a/Processes/TrackingLine/testTrackingLineStack.h b/Processes/TrackingLine/testTrackingLineStack.h
index 5c3de074efeaf68ce66e4b7654795abaecaf8b91..8bdf766268ac90a41c52e99aadd30c1679f7d96f 100644
--- a/Processes/TrackingLine/testTrackingLineStack.h
+++ b/Processes/TrackingLine/testTrackingLineStack.h
@@ -11,24 +11,26 @@
 #ifndef _include_process_trackinling_teststack_h_
 #define _include_process_trackinling_teststack_h_
 
-#include <corsika/geometry/Point.h>
 #include <corsika/environment/Environment.h>
+#include <corsika/geometry/Point.h>
 #include <corsika/geometry/Vector.h>
 #include <corsika/particles/ParticleProperties.h>
-#include <corsika/units/PhysicalUnits.h>
 #include <corsika/setup/SetupStack.h>
+#include <corsika/units/PhysicalUnits.h>
 
-using TestEnvironmentType = corsika::environment::Environment<corsika::environment::Empty>;
+using TestEnvironmentType =
+    corsika::environment::Environment<corsika::environment::Empty>;
 
 template <typename T>
 using SetupGeometryDataInterface = GeometryDataInterface<T, TestEnvironmentType>;
 
 // combine particle data stack with geometry information for tracking
 template <typename StackIter>
-using StackWithGeometryInterface =
-        corsika::stack::CombinedParticleInterface<corsika::setup::detail::ParticleDataStack::PIType,
-                                                  SetupGeometryDataInterface, StackIter>;
-using TestTrackingLineStack = corsika::stack::CombinedStack<typename corsika::setup::detail::ParticleDataStack::StackImpl, GeometryData<TestEnvironmentType>, StackWithGeometryInterface>;
-
+using StackWithGeometryInterface = corsika::stack::CombinedParticleInterface<
+    corsika::setup::detail::ParticleDataStack::PIType, SetupGeometryDataInterface,
+    StackIter>;
+using TestTrackingLineStack = corsika::stack::CombinedStack<
+    typename corsika::setup::detail::ParticleDataStack::StackImpl,
+    GeometryData<TestEnvironmentType>, StackWithGeometryInterface>;
 
 #endif
diff --git a/Setup/SetupStack.h b/Setup/SetupStack.h
index d8dbac90643946578dcf7e1306155dc166b70330..dfcfa757dc2d0ad183a1ae9919bd603fbe8bb250 100644
--- a/Setup/SetupStack.h
+++ b/Setup/SetupStack.h
@@ -20,8 +20,8 @@
 
 // extension with geometry information for tracking
 #include <corsika/environment/Environment.h>
-#include <corsika/stack/CombinedStack.h>
 #include <corsika/setup/SetupEnvironment.h>
+#include <corsika/stack/CombinedStack.h>
 
 #include <tuple>
 #include <utility>
@@ -33,7 +33,7 @@ class GeometryData {
 
 public:
   using BaseNodeType = typename TEnvType::BaseNodeType;
-  
+
   // these functions are needed for the Stack interface
   void Init() {}
   void Clear() { fNode.clear(); }
@@ -44,9 +44,7 @@ public:
 
   // custom data access function
   void SetNode(const int i, BaseNodeType const* v) { fNode[i] = v; }
-  auto const* GetNode(const int i) const {
-    return fNode[i];
-  }
+  auto const* GetNode(const int i) const { return fNode[i]; }
 
   // these functions are also needed by the Stack interface
   void IncrementSize() { fNode.push_back(nullptr); }
@@ -74,19 +72,16 @@ public:
   void SetParticleData(const std::tuple<BaseNodeType const*> v) {
     SetNode(std::get<0>(v));
   }
-  void SetParticleData(GeometryDataInterface& parent, const std::tuple<BaseNodeType const*>) {
+  void SetParticleData(GeometryDataInterface& parent,
+                       const std::tuple<BaseNodeType const*>) {
     SetNode(parent.GetNode()); // copy Node from parent particle!
   }
   void SetParticleData() { SetNode(nullptr); }
   void SetParticleData(GeometryDataInterface& parent) {
     SetNode(parent.GetNode()); // copy Node from parent particle!
   }
-  void SetNode(BaseNodeType const* v) {
-    GetStackData().SetNode(GetIndex(), v);
-  }
-  auto const* GetNode() const {
-    return GetStackData().GetNode(GetIndex());
-  }
+  void SetNode(BaseNodeType const* v) { GetStackData().SetNode(GetIndex(), v); }
+  auto const* GetNode() const { return GetStackData().GetNode(GetIndex()); }
 };
 
 namespace corsika::setup {
@@ -116,7 +111,8 @@ namespace corsika::setup {
                                                   SetupGeometryDataInterface, StackIter>;
 
     using StackWithGeometry =
-        corsika::stack::CombinedStack<typename ParticleDataStack::StackImpl, GeometryData<setup::SetupEnvironment>,
+        corsika::stack::CombinedStack<typename ParticleDataStack::StackImpl,
+                                      GeometryData<setup::SetupEnvironment>,
                                       StackWithGeometryInterface>;
 
   } // namespace detail
diff --git a/ThirdParty/pythia8235.tgz b/ThirdParty/pythia8235.tgz
new file mode 100644
index 0000000000000000000000000000000000000000..552398c41da544421f187f0a5cf78f3739a1ee1d
Binary files /dev/null and b/ThirdParty/pythia8235.tgz differ