diff --git a/corsika/detail/media/VolumeTreeNode.inl b/corsika/detail/media/VolumeTreeNode.inl
index 14eaef6b5738412951e271cbc5761955b690e2e4..79e8b41005ac7947e2e94fcbf4076a40cacbf234 100644
--- a/corsika/detail/media/VolumeTreeNode.inl
+++ b/corsika/detail/media/VolumeTreeNode.inl
@@ -10,7 +10,7 @@
 
 #pragma once
 
-#include <corsika/framework/geometry/Volume.hpp>
+#include <corsika/framework/geometry/IVolume.hpp>
 #include <corsika/media/IMediumModel.hpp>
 
 namespace corsika {
@@ -89,4 +89,4 @@ namespace corsika {
     return std::make_shared<MediumType>(std::forward<Args>(args)...);
   }
 
-} // namespace corsika
\ No newline at end of file
+} // namespace corsika
diff --git a/corsika/framework/stack/Stack.hpp b/corsika/framework/stack/Stack.hpp
index e30e4e7c54504b8ad3a5dfb063b17347322906e5..a7ed1cdb0f0cd2802b388c39769c21c02e2c0e4a 100644
--- a/corsika/framework/stack/Stack.hpp
+++ b/corsika/framework/stack/Stack.hpp
@@ -335,6 +335,65 @@ namespace corsika {
     }
 
   protected:
+
+    /**
+     * increase stack size, create new particle at end of stack, related to parent
+     * particle/projectile
+     *
+     * This should only get internally called from a
+     * StackIterator::AddSecondary via ParticleBase
+     */
+    /*
+    template <typename... TArgs>
+    stack_iterator_type addSecondary(stack_iterator_type& parent, const TArgs... v) {
+      CORSIKA_LOG_TRACE("Stack::AddSecondary");
+      data_.incrementSize();
+      deleted_.push_back(false);
+      return stack_iterator_type(*this, getSize() - 1, parent, v...);
+    }
+
+    void swap(unsigned int a, unsigned int b) {
+      CORSIKA_LOG_TRACE("Stack::Swap(unsigned int)");
+      data_.swap(a, b);
+      std::swap(deleted_[a], deleted_[b]);
+    }
+    void copy(unsigned int a, unsigned int b) {
+      CORSIKA_LOG_TRACE("Stack::Copy");
+      data_.copy(a, b);
+      if (deleted_[b] && !deleted_[a]) nDeleted_--;
+      if (!deleted_[b] && deleted_[a]) nDeleted_++;
+      deleted_[b] = deleted_[a];
+    }
+
+    bool isDeleted(unsigned int i) const {
+      if (i >= deleted_.size()) return false;
+      return deleted_.at(i);
+    }
+
+    void erase(unsigned int i) {
+      deleted_[i] = true;
+      nDeleted_++;
+    }
+    */
+
+    /*
+     * will remove from storage the element i. This is a helper
+     * function for SecondaryView.
+     */
+
+    /*
+    void purge(unsigned int i) {
+      unsigned int iStackBack = getSize() - 1;
+      // search for last non-deleted particle on stack
+      while (deleted_[iStackBack]) { iStackBack--; }
+      // copy entry from iStackBack to iStackFront
+      data_.copy(iStackBack, i);
+      if (deleted_[i]) nDeleted_--;
+      deleted_[i] = deleted_[iStackBack];
+      data_.decrementSize();
+      deleted_.pop_back();
+    }
+    */
     /**
      * increase stack size, create new particle at end of stack, related to parent
      * particle/projectile
diff --git a/corsika/media/VolumeTreeNode.hpp b/corsika/media/VolumeTreeNode.hpp
index 6d1aff6158b53e4a3dcb1e0fbc02ded8a3f20830..051f8c96cf412e48a72b732a45d951ac71152a57 100644
--- a/corsika/media/VolumeTreeNode.hpp
+++ b/corsika/media/VolumeTreeNode.hpp
@@ -8,7 +8,7 @@
 
 #pragma once
 
-#include <corsika/framework/geometry/Volume.hpp>
+#include <corsika/framework/geometry/IVolume.hpp>
 #include <corsika/media/IMediumModel.hpp>
 #include <memory>
 #include <vector>