diff --git a/COAST/CMakeLists.txt b/COAST/CMakeLists.txt
index ae85a9176aee3e55efb226d3fae4df0ae5a7e212..2aae4eb262f78513a0bb5312a6c3e5b972c56bb1 100644
--- a/COAST/CMakeLists.txt
+++ b/COAST/CMakeLists.txt
@@ -43,9 +43,10 @@ target_link_libraries (
 target_include_directories (
   COAST
   PUBLIC
-  $ENV{COAST_DIR}/include
   $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include>
   $<INSTALL_INTERFACE:include/include>
+  SYSTEM 
+  $ENV{COAST_DIR}/include
   )
 
 install (
diff --git a/COAST/COASTStack.h b/COAST/COASTStack.h
index d5ac8c738869f3680faaebed8117c9ccff9cfb26..60659cd394d9f20971ebca3721b4e8691c036a91 100644
--- a/COAST/COASTStack.h
+++ b/COAST/COASTStack.h
@@ -52,8 +52,8 @@ namespace corsika::coast {
     MomentumVector GetMomentum(const corsika::geometry::CoordinateSystem& cs) const {
       using namespace corsika::units::si;
       const HEPEnergyType mass = corsika::particles::GetMass(GetPID());
-      auto P = sqrt((GetEnergy() - mass) * (GetEnergy() + mass));
-      auto p = GetStackData().GetDirection(cs, GetIndex());
+      const auto P = sqrt((GetEnergy() - mass) * (GetEnergy() + mass));
+      const auto p = GetStackData().GetDirection(cs, GetIndex());
       return p * P;
     }
 
@@ -129,9 +129,9 @@ namespace corsika::coast {
         const corsika::geometry::CoordinateSystem& cs, const int) const {
       using namespace corsika::units::si;
       corsika::geometry::Point p1(
-          cs, {fParticle1->x * 1_cm, fParticle1->y * 1_cm, fParticle1->y * 1_cm});
+          cs, {fParticle1->x * 1_cm, fParticle1->y * 1_cm, fParticle1->z * 1_cm});
       corsika::geometry::Point p2(
-          cs, {fParticle2->x * 1_cm, fParticle2->y * 1_cm, fParticle2->y * 1_cm});
+          cs, {fParticle2->x * 1_cm, fParticle2->y * 1_cm, fParticle2->z * 1_cm});
       const corsika::geometry::Vector D = p2 - p1;
       const auto magD = D.norm();
       const corsika::geometry::Vector dir = D / magD;
@@ -143,12 +143,12 @@ namespace corsika::coast {
       corsika::geometry::Vector<corsika::units::si::dimensionless_d> dir =
           GetDirection(cs, 0);
       corsika::geometry::Point p1(
-          cs, {fParticle1->x * 1_cm, fParticle1->y * 1_cm, fParticle1->y * 1_cm});
+          cs, {fParticle1->x * 1_cm, fParticle1->y * 1_cm, fParticle1->z * 1_cm});
       corsika::geometry::Point p2(
-          cs, {fParticle2->x * 1_cm, fParticle2->y * 1_cm, fParticle2->y * 1_cm});
+          cs, {fParticle2->x * 1_cm, fParticle2->y * 1_cm, fParticle2->z * 1_cm});
       const corsika::geometry::Vector D = p2 - p1;
       const LengthType magD = D.norm();
-      const TimeType deltaT = (fParticle2->time - fParticle1->time) * 1_ns;
+      const TimeType deltaT = GetTimeInterval();
       return dir * magD / deltaT;
     }
     corsika::geometry::Point GetPosition(const corsika::geometry::CoordinateSystem& cs,
diff --git a/COAST/ParticleConversion.cc b/COAST/ParticleConversion.cc
index 9b1fd3f0e6d75daf45023d2cfb6b86560ce66880..489c4dbf4b20cbe53be854a5da2cbca894540402 100644
--- a/COAST/ParticleConversion.cc
+++ b/COAST/ParticleConversion.cc
@@ -20,6 +20,10 @@ using namespace std;
 
 namespace corsika::coast {
 
+  /**
+     Convert particle code, and check if it does exists. Throw exeption, if not!
+   */
+  
   corsika::particles::Code ConvertFromCoast(CoastCode pCode) {
     if (coast2corsika.count(pCode) == 0) {
       ostringstream err;
@@ -30,7 +34,5 @@ namespace corsika::coast {
     }
     return coast2corsika.find(pCode)->second;
   }
-  //   process::sibyll::Sibyll2Corsika = {
-  //        {PID::E_MINUS, InternalParticleCode::Electron},
-  //};
+
 } // namespace corsika::coast
diff --git a/COAST/ParticleConversion.h b/COAST/ParticleConversion.h
index d9e87b8e38071051e527cf70640a10aa57c5caf1..8b7817e7b6e2b0379a66dc98074ff0046c62e10a 100644
--- a/COAST/ParticleConversion.h
+++ b/COAST/ParticleConversion.h
@@ -20,6 +20,9 @@
 
 namespace corsika::coast {
 
+  /**
+     Here we define the original CORSIKA particle codes, see corsika manual
+   */
   enum class CoastCode : int16_t {
     Gamma = 1,
     Positron = 2,
@@ -90,14 +93,31 @@ namespace corsika::coast {
     Code95 = 95,
     Code96 = 96,
 
+    ProtonNucleus = 101,
+    Deuterium = 201,
+    Tritium = 301,
+    He3 = 302,
     Helium = 402,
-    Carbon = 612,
-    Nitrogen = 714,
-    Oxygen = 816,
+      Lithium = 603,
+      Beryllium = 904,
+      Boron = 1005,
+      Carbon = 1206,
+    Nitrogen = 1407,
+    Oxygen = 1608,
+      Neon = 2210,
+      Argon = 1838,
     Iron = 5628,
+      Xenon = 12854,
+      Radon = 13888,
   };
+
   using CoastCodeIntType = std::underlying_type<CoastCode>::type;
 
+  
+  /**
+     Here we convert CORSIKA7 to CORSIKA8 codes
+   */
+  
   const std::map<corsika::coast::CoastCode, corsika::particles::Code> coast2corsika = {
       {CoastCode::Gamma, corsika::particles::Code::Gamma},
       {CoastCode::Positron, corsika::particles::Code::Positron},
@@ -164,13 +184,24 @@ namespace corsika::coast {
       {CoastCode::Code95, corsika::particles::Code::Unknown},
       {CoastCode::Code96, corsika::particles::Code::Unknown},
 
+      {CoastCode::ProtonNucleus, corsika::particles::Code::Proton}, // 101
+      {CoastCode::Deuterium, corsika::particles::Code::Deuterium},
+      {CoastCode::Tritium, corsika::particles::Code::Tritium},
+      {CoastCode::He3, corsika::particles::Code::Helium3},
       {CoastCode::Helium, corsika::particles::Code::Helium}, // 402
+      {CoastCode::Lithium, corsika::particles::Code::Lithium}, 
+      {CoastCode::Beryllium, corsika::particles::Code::Beryllium}, 
+      {CoastCode::Boron, corsika::particles::Code::Boron}, 
       {CoastCode::Carbon, corsika::particles::Code::Carbon},
       {CoastCode::Nitrogen, corsika::particles::Code::Nitrogen},
       {CoastCode::Oxygen, corsika::particles::Code::Oxygen},
+      {CoastCode::Neon, corsika::particles::Code::Neon},
+      {CoastCode::Argon, corsika::particles::Code::Argon},
+      {CoastCode::Xenon, corsika::particles::Code::Xenon},
+      {CoastCode::Radon, corsika::particles::Code::Radon},
       {CoastCode::Iron, corsika::particles::Code::Iron}, // 5628
 
-      //{CoastCode::, corsika::particles::Code::}
+      //{CoastCode::, corsika::particles::Code::}, 
 
   };
 
diff --git a/Framework/Particles/NuclearData.xml b/Framework/Particles/NuclearData.xml
index c707f3a2716a6fbbe61e15df98fcdaaf0e3e71bb..e01f1ba6a8877ac65c58c4bac33110f3891ba047 100644
--- a/Framework/Particles/NuclearData.xml
+++ b/Framework/Particles/NuclearData.xml
@@ -12,6 +12,18 @@
 <particle id="1000020040" name="helium" A="4" Z="2" >
 </particle> 
 
+<particle id="1000020030" name="helium3" A="3" Z="2" >
+</particle> 
+
+<particle id="1000020030" name="lithium" A="6" Z="3" >
+</particle> 
+
+<particle id="1000020030" name="beryllium" A="9" Z="4" >
+</particle> 
+
+<particle id="1000020030" name="boron" A="10" Z="5" >
+</particle> 
+
 <particle id="1000060120" name="carbon" A="12" Z="6" >
 </particle> 
 
@@ -21,10 +33,22 @@
 <particle id="1000080160" name="oxygen" A="16" Z="8" >
 </particle> 
 
+<particle id="1000180400" name="neon" A="22" Z="10" >
+</particle> 
+
 <particle id="1000180400" name="argon" A="40" Z="18" >
 </particle> 
 
 <particle id="1000280560" name="iron" A="56" Z="28" >
 </particle> 
 
+<particle id="1000180400" name="xenon" A="128" Z="54" >
+</particle> 
+
+<particle id="1000180400" name="radon" A="138" Z="88" >
+</particle> 
+
+<particle id="1000280560" name="lead" A="208" Z="82" >
+</particle> 
+
 </chapter>