diff --git a/corsika/detail/modules/energy_loss/BetheBlochPDG.inl b/corsika/detail/modules/energy_loss/BetheBlochPDG.inl
index add5d8bcda73674be89e4d0a6a050bef90876f5a..28ed8be58b22b1934eb384601f071d5139b06a61 100644
--- a/corsika/detail/modules/energy_loss/BetheBlochPDG.inl
+++ b/corsika/detail/modules/energy_loss/BetheBlochPDG.inl
@@ -161,7 +161,7 @@ namespace corsika::energy_loss {
     if (p.GetChargeNumber() == 0) return corsika::EProcessReturn::eOk;
 
     GrammageType const dX =
-        p.GetNode()->GetModelProperties().IntegratedGrammage(t, t.GetLength());
+        p.GetNode()->GetModelProperties().integratedGrammage(t, t.GetLength());
     std::cout << "BetheBlochPDG " << p.GetPID() << ", z=" << p.GetChargeNumber()
               << ", dX=" << dX / 1_g * square(1_cm) << "g/cm2" << std::endl;
     HEPEnergyType dE = TotalEnergyLoss(p, dX);
@@ -196,7 +196,7 @@ namespace corsika::energy_loss {
     auto const maxLoss = 0.01 * vParticle.GetEnergy();
     auto const maxGrammage = maxLoss / dE * dX;
 
-    return vParticle.GetNode()->GetModelProperties().ArclengthFromGrammage(vTrack,
+    return vParticle.GetNode()->GetModelProperties().arclengthFromGrammage(vTrack,
                                                                            maxGrammage) *
            1.0001; // to make sure particle gets absorbed when DoContinuous() is called
   }
@@ -223,10 +223,10 @@ namespace corsika::energy_loss {
     SetupTrack const trajToEndBin(lineToEndBin, 1_s);
 
     GrammageType const grammageStart =
-        vP.GetNode()->GetModelProperties().IntegratedGrammage(trajToStartBin,
+        vP.GetNode()->GetModelProperties().integratedGrammage(trajToStartBin,
                                                               trajToStartBin.GetLength());
     GrammageType const grammageEnd =
-        vP.GetNode()->GetModelProperties().IntegratedGrammage(trajToEndBin,
+        vP.GetNode()->GetModelProperties().integratedGrammage(trajToEndBin,
                                                               trajToEndBin.GetLength());
 
     const int binStart = grammageStart / dX_;
diff --git a/corsika/detail/modules/pythia8/Interaction.inl b/corsika/detail/modules/pythia8/Interaction.inl
index dd92d06a68f4c0ef0f113cce95c7e933683a9477..c0f3ab72f6e3a35fe759a4f089916c52c3c25087 100644
--- a/corsika/detail/modules/pythia8/Interaction.inl
+++ b/corsika/detail/modules/pythia8/Interaction.inl
@@ -197,7 +197,7 @@ namespace corsika::pythia8 {
       */
       const auto* currentNode = p.GetNode();
       const auto mediumComposition =
-          currentNode->GetModelProperties().GetNuclearComposition();
+          currentNode->GetModelProperties().getNuclearComposition();
       // determine average interaction length
 
       auto const weightedProdCrossSection =
@@ -302,7 +302,7 @@ namespace corsika::pythia8 {
       // sample target mass number
       const auto* currentNode = vP.GetNode();
       const auto& mediumComposition =
-          currentNode->GetModelProperties().GetNuclearComposition();
+          currentNode->GetModelProperties().getNuclearComposition();
       // get cross sections for target materials
       /*
         Here we read the cross section from the interaction model again,
diff --git a/corsika/detail/modules/qgsjetII/Interaction.inl b/corsika/detail/modules/qgsjetII/Interaction.inl
index 8ae1e0f8b4f6af0fc4d9f00d3b81bbcdd15451a7..029d43a385263d1cf76fde32e6063099984492ef 100644
--- a/corsika/detail/modules/qgsjetII/Interaction.inl
+++ b/corsika/detail/modules/qgsjetII/Interaction.inl
@@ -129,7 +129,7 @@ namespace corsika::qgsjetII {
 
       auto const* currentNode = vP.GetNode();
       const auto& mediumComposition =
-          currentNode->GetModelProperties().GetNuclearComposition();
+          currentNode->GetModelProperties().getNuclearComposition();
 
       CrossSectionType weightedProdCrossSection =
           mediumComposition.WeightedSum([=](corsika::Code targetID) -> CrossSectionType {
@@ -205,7 +205,7 @@ namespace corsika::qgsjetII {
       // sample target mass number
       auto const* currentNode = vP.GetNode();
       auto const& mediumComposition =
-          currentNode->GetModelProperties().GetNuclearComposition();
+          currentNode->GetModelProperties().getNuclearComposition();
       // get cross sections for target materials
       /*
         Here we read the cross section from the interaction model again,
diff --git a/corsika/detail/modules/sibyll/Interaction.inl b/corsika/detail/modules/sibyll/Interaction.inl
index d6ce573d38905da7f0d861134e7f9c314a7538f6..ec2e39f0eeb0facffe23bbce16939c4ff7c7cbb2 100644
--- a/corsika/detail/modules/sibyll/Interaction.inl
+++ b/corsika/detail/modules/sibyll/Interaction.inl
@@ -146,7 +146,7 @@ namespace corsika::sibyll {
 
       auto const* currentNode = vP.GetNode();
       const auto& mediumComposition =
-          currentNode->GetModelProperties().GetNuclearComposition();
+          currentNode->GetModelProperties().getNuclearComposition();
 
       si::CrossSectionType weightedProdCrossSection = mediumComposition.WeightedSum(
           [=](corsika::Code targetID) -> si::CrossSectionType {
@@ -249,7 +249,7 @@ namespace corsika::sibyll {
       // sample target mass number
       auto const* currentNode = vP.GetNode();
       auto const& mediumComposition =
-          currentNode->GetModelProperties().GetNuclearComposition();
+          currentNode->GetModelProperties().getNuclearComposition();
       // get cross sections for target materials
       /*
         Here we read the cross section from the interaction model again,
diff --git a/corsika/detail/modules/sibyll/NuclearInteraction.inl b/corsika/detail/modules/sibyll/NuclearInteraction.inl
index 7c9e74b5ac50771b201c7de28c43f700dd694dd7..69125e4f75135787876733355bec0227d8b03d75 100644
--- a/corsika/detail/modules/sibyll/NuclearInteraction.inl
+++ b/corsika/detail/modules/sibyll/NuclearInteraction.inl
@@ -69,7 +69,7 @@ namespace corsika::sibyll {
       auto collectElements = [&](auto& vtn) {
         if (vtn.HasModelProperties()) {
           auto const& comp =
-              vtn.GetModelProperties().GetNuclearComposition().GetComponents();
+              vtn.GetModelProperties().getNuclearComposition().GetComponents();
           for (auto const c : comp) allElementsInUniverse.insert(c);
         }
       };
@@ -267,7 +267,7 @@ namespace corsika::sibyll {
       */
       auto const* const currentNode = vP.GetNode();
       auto const& mediumComposition =
-          currentNode->GetModelProperties().GetNuclearComposition();
+          currentNode->GetModelProperties().getNuclearComposition();
       // determine average interaction length
       // weighted sum
       int i = -1;
@@ -415,7 +415,7 @@ namespace corsika::sibyll {
     const auto beamId = corsika::Code::Proton;
     auto const* const currentNode = vP.GetNode();
     const auto& mediumComposition =
-        currentNode->GetModelProperties().GetNuclearComposition();
+        currentNode->GetModelProperties().getNuclearComposition();
     std::cout << "get nucleon-nucleus cross sections for target materials.." << std::endl;
     // get cross sections for target materials
     // using nucleon-target-nucleus cross section!!!
diff --git a/corsika/detail/modules/urqmd/UrQMD.inl b/corsika/detail/modules/urqmd/UrQMD.inl
index d5ced9b50dd63d160ec382e202f32be277b6f79a..30b495096bf54361847830f89ff7d837a493ddbe 100644
--- a/corsika/detail/modules/urqmd/UrQMD.inl
+++ b/corsika/detail/modules/urqmd/UrQMD.inl
@@ -113,7 +113,7 @@ namespace corsika::urqmd {
     }
 
     auto const& mediumComposition =
-        vParticle.GetNode()->GetModelProperties().GetNuclearComposition();
+        vParticle.GetNode()->GetModelProperties().getNuclearComposition();
     using namespace std::placeholders;
 
     CrossSectionType const weightedProdCrossSection = mediumComposition.WeightedSum(
@@ -133,7 +133,7 @@ namespace corsika::urqmd {
 
     // sample target particle
     auto const& mediumComposition =
-        vProjectile.GetNode()->GetModelProperties().GetNuclearComposition();
+        vProjectile.GetNode()->GetModelProperties().getNuclearComposition();
     auto const componentCrossSections = std::invoke([&]() {
       auto const& components = mediumComposition.GetComponents();
       std::vector<CrossSectionType> crossSections;