diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index ad428776a1170c39d2ac9c3b2629585f770293ca..0a7cdea9768f4ffe04cabccac24d7efecaadcbbd 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,22 +1,22 @@
 set(SOURCE_FILES
-  adaptivetimestepper.cc
   assemblers.cc
-  coupledtimestepper.cc
   enumparser.cc
-  fixedpointiterator.cc
   hdf5/frictionalboundary-writer.cc
   hdf5/iteration-writer.cc
   hdf5/patchinfo-writer.cc
   hdf5/restart-io.cc
   hdf5/surface-writer.cc
   hdf5/time-writer.cc
-  rate.cc
-  rate/rateupdater.cc
-  sand-wedge.cc
   sand-wedge-data/mygeometry.cc
   sand-wedge-data/mygrid.cc
-  solverfactory.cc
-  state.cc
+  sand-wedge.cc
+  spatial-solving/fixedpointiterator.cc
+  spatial-solving/solverfactory.cc
+  time-stepping/adaptivetimestepper.cc
+  time-stepping/coupledtimestepper.cc
+  time-stepping/rate.cc
+  time-stepping/rate/rateupdater.cc
+  time-stepping/state.cc
   vtk.cc
 )
 
diff --git a/src/hdf5/iteration-writer.hh b/src/hdf5/iteration-writer.hh
index cdcd80d3f3097ade55064694541188007b432977..377ae7494650c245d7c643ed5ee2c09e4f0e8bca 100644
--- a/src/hdf5/iteration-writer.hh
+++ b/src/hdf5/iteration-writer.hh
@@ -3,7 +3,7 @@
 
 #include <dune/fufem/hdf5/hdf5-sequence-io.hh>
 
-#include "../adaptivetimestepper.hh"
+#include "../time-stepping/adaptivetimestepper.hh"
 
 class IterationWriter {
 public:
diff --git a/src/program_state.hh b/src/program_state.hh
index bd6b79d4148ccd86e903484ca94924b4c1e0fb2f..06c71d27a2331fcc20db85791f8ded62e56e1a0f 100644
--- a/src/program_state.hh
+++ b/src/program_state.hh
@@ -11,7 +11,7 @@
 
 #include "assemblers.hh"
 #include "matrices.hh"
-#include "solverfactory.hh"
+#include "spatial-solving/solverfactory.hh"
 
 template <class VectorTEMPLATE, class ScalarVectorTEMPLATE> class ProgramState {
 public:
diff --git a/src/sand-wedge.cc b/src/sand-wedge.cc
index 670a9584f7752be86849825543939247df3d8bc9..692397ea88e9ba3ba6e4863bae1869ce9fee4baf 100644
--- a/src/sand-wedge.cc
+++ b/src/sand-wedge.cc
@@ -50,7 +50,6 @@
 #include <dune/tectonic/globalfriction.hh>
 #include <dune/fufem/hdf5/hdf5file.hh>
 
-#include "adaptivetimestepper.hh"
 #include "assemblers.hh"
 #include "diameter.hh"
 #include "enumparser.hh"
@@ -60,15 +59,16 @@
 #include "hdf5/restart-io.hh"
 #include "matrices.hh"
 #include "program_state.hh"
-#include "rate.hh"
 #include "sand-wedge-data/mybody.hh"
 #include "sand-wedge-data/mygeometry.hh"
 #include "sand-wedge-data/myglobalfrictiondata.hh"
 #include "sand-wedge-data/mygrid.hh"
 #include "sand-wedge-data/weakpatch.hh"
-#include "solverfactory.hh"
-#include "state.hh"
-#include "updaters.hh"
+#include "spatial-solving/solverfactory.hh"
+#include "time-stepping/adaptivetimestepper.hh"
+#include "time-stepping/rate.hh"
+#include "time-stepping/state.hh"
+#include "time-stepping/updaters.hh"
 #include "vtk.hh"
 
 size_t const dims = MY_DIM;
diff --git a/src/fixedpointiterator.cc b/src/spatial-solving/fixedpointiterator.cc
similarity index 98%
rename from src/fixedpointiterator.cc
rename to src/spatial-solving/fixedpointiterator.cc
index 68dfd4febbc91337e29e32afffeb763583becbb7..d17fd1134446741de3c74a9270971c1150a1d080 100644
--- a/src/fixedpointiterator.cc
+++ b/src/spatial-solving/fixedpointiterator.cc
@@ -8,8 +8,8 @@
 #include <dune/solvers/norms/energynorm.hh>
 #include <dune/solvers/solvers/loopsolver.hh>
 
-#include "enums.hh"
-#include "enumparser.hh"
+#include "../enums.hh"
+#include "../enumparser.hh"
 
 #include "fixedpointiterator.hh"
 
diff --git a/src/fixedpointiterator.hh b/src/spatial-solving/fixedpointiterator.hh
similarity index 94%
rename from src/fixedpointiterator.hh
rename to src/spatial-solving/fixedpointiterator.hh
index 4833b496bb9d91e346ec972f80b074f895c1926e..9e113e1d81813cbf8a93ce9c18acbaab5f29ad27 100644
--- a/src/fixedpointiterator.hh
+++ b/src/spatial-solving/fixedpointiterator.hh
@@ -1,5 +1,5 @@
-#ifndef SRC_FIXEDPOINTITERATOR_HH
-#define SRC_FIXEDPOINTITERATOR_HH
+#ifndef SRC_SPATIAL_SOLVING_FIXEDPOINTITERATOR_HH
+#define SRC_SPATIAL_SOLVING_FIXEDPOINTITERATOR_HH
 
 #include <memory>
 
diff --git a/src/fixedpointiterator_tmpl.cc b/src/spatial-solving/fixedpointiterator_tmpl.cc
similarity index 79%
rename from src/fixedpointiterator_tmpl.cc
rename to src/spatial-solving/fixedpointiterator_tmpl.cc
index 5975e197a9412e32eaee6fcb4a814b71a614bf9d..a50b93d4789728fbd69040591d7b316b4e80ae1b 100644
--- a/src/fixedpointiterator_tmpl.cc
+++ b/src/spatial-solving/fixedpointiterator_tmpl.cc
@@ -2,6 +2,9 @@
 #error MY_DIM unset
 #endif
 
+#include "../explicitgrid.hh"
+#include "../explicitvectors.hh"
+
 #include <dune/common/function.hh>
 
 #include <dune/solvers/norms/energynorm.hh>
@@ -10,13 +13,10 @@
 #include <dune/tectonic/globalfriction.hh>
 #include <dune/tectonic/myblockproblem.hh>
 
-#include "explicitgrid.hh"
-#include "explicitvectors.hh"
-
-#include "rate/rateupdater.hh"
+#include "../time-stepping/rate/rateupdater.hh"
+#include "../time-stepping/state/stateupdater.hh"
+#include "../time-stepping/updaters.hh"
 #include "solverfactory.hh"
-#include "state/stateupdater.hh"
-#include "updaters.hh"
 
 using Function = Dune::VirtualFunction<double, double>;
 using Factory = SolverFactory<
diff --git a/src/solverfactory.cc b/src/spatial-solving/solverfactory.cc
similarity index 100%
rename from src/solverfactory.cc
rename to src/spatial-solving/solverfactory.cc
diff --git a/src/solverfactory.hh b/src/spatial-solving/solverfactory.hh
similarity index 95%
rename from src/solverfactory.hh
rename to src/spatial-solving/solverfactory.hh
index 6badcd551c952184319aa545d9a24838d1f34c6e..2bcc0c45aa5248631e878feadd191c00840aa2e0 100644
--- a/src/solverfactory.hh
+++ b/src/spatial-solving/solverfactory.hh
@@ -1,5 +1,5 @@
-#ifndef SRC_SOLVERFACTORY_HH
-#define SRC_SOLVERFACTORY_HH
+#ifndef SRC_SPATIAL_SOLVING_SOLVERFACTORY_HH
+#define SRC_SPATIAL_SOLVING_SOLVERFACTORY_HH
 
 #include <dune/common/bitsetvector.hh>
 #include <dune/common/parametertree.hh>
diff --git a/src/solverfactory_tmpl.cc b/src/spatial-solving/solverfactory_tmpl.cc
similarity index 90%
rename from src/solverfactory_tmpl.cc
rename to src/spatial-solving/solverfactory_tmpl.cc
index 69240d5b778c2623c4885f88317e892e5b0457c9..506d9042a6814dab7d4a4ad43647f81262b7091a 100644
--- a/src/solverfactory_tmpl.cc
+++ b/src/spatial-solving/solverfactory_tmpl.cc
@@ -2,8 +2,8 @@
 #error MY_DIM unset
 #endif
 
-#include "explicitgrid.hh"
-#include "explicitvectors.hh"
+#include "../explicitgrid.hh"
+#include "../explicitvectors.hh"
 
 #include <dune/tnnmg/nonlinearities/zerononlinearity.hh>
 #include <dune/tnnmg/problem-classes/blocknonlineartnnmgproblem.hh>
diff --git a/src/adaptivetimestepper.cc b/src/time-stepping/adaptivetimestepper.cc
similarity index 100%
rename from src/adaptivetimestepper.cc
rename to src/time-stepping/adaptivetimestepper.cc
diff --git a/src/adaptivetimestepper.hh b/src/time-stepping/adaptivetimestepper.hh
similarity index 94%
rename from src/adaptivetimestepper.hh
rename to src/time-stepping/adaptivetimestepper.hh
index dcda38d0e7ab13abbe7c4693a05542fd1bf47031..c53b5add738e7c3c386af49047d19b48537e83ec 100644
--- a/src/adaptivetimestepper.hh
+++ b/src/time-stepping/adaptivetimestepper.hh
@@ -1,5 +1,5 @@
-#ifndef SRC_ADAPTIVETIMESTEPPER_HH
-#define SRC_ADAPTIVETIMESTEPPER_HH
+#ifndef SRC_TIME_STEPPING_ADAPTIVETIMESTEPPER_HH
+#define SRC_TIME_STEPPING_ADAPTIVETIMESTEPPER_HH
 
 #include <fstream>
 
diff --git a/src/adaptivetimestepper_tmpl.cc b/src/time-stepping/adaptivetimestepper_tmpl.cc
similarity index 88%
rename from src/adaptivetimestepper_tmpl.cc
rename to src/time-stepping/adaptivetimestepper_tmpl.cc
index 45eb2de313573ae0fdef5b6a6a7fc6fdaca8b537..d3e8a9c082c3baa4bf46abaf176847096197ef3b 100644
--- a/src/adaptivetimestepper_tmpl.cc
+++ b/src/time-stepping/adaptivetimestepper_tmpl.cc
@@ -2,6 +2,9 @@
 #error MY_DIM unset
 #endif
 
+#include "../explicitgrid.hh"
+#include "../explicitvectors.hh"
+
 #include <dune/common/function.hh>
 
 #include <dune/solvers/norms/energynorm.hh>
@@ -10,11 +13,8 @@
 #include <dune/tectonic/globalfriction.hh>
 #include <dune/tectonic/myblockproblem.hh>
 
-#include "explicitgrid.hh"
-#include "explicitvectors.hh"
-
+#include "../spatial-solving/solverfactory.hh"
 #include "rate/rateupdater.hh"
-#include "solverfactory.hh"
 #include "state/stateupdater.hh"
 #include "updaters.hh"
 
diff --git a/src/coupledtimestepper.cc b/src/time-stepping/coupledtimestepper.cc
similarity index 100%
rename from src/coupledtimestepper.cc
rename to src/time-stepping/coupledtimestepper.cc
diff --git a/src/coupledtimestepper.hh b/src/time-stepping/coupledtimestepper.hh
similarity index 87%
rename from src/coupledtimestepper.hh
rename to src/time-stepping/coupledtimestepper.hh
index 8873e6757281e68c52dc0455f9a7264c43543042..d99f191c02a5adf02d17c3fb8654cc084692e9e1 100644
--- a/src/coupledtimestepper.hh
+++ b/src/time-stepping/coupledtimestepper.hh
@@ -1,11 +1,12 @@
-#ifndef SRC_COUPLEDTIMESTEPPER_HH
-#define SRC_COUPLEDTIMESTEPPER_HH
+#ifndef SRC_TIME_STEPPING_COUPLEDTIMESTEPPER_HH
+#define SRC_TIME_STEPPING_COUPLEDTIMESTEPPER_HH
 
 #include <functional>
 #include <memory>
 
 #include <dune/common/parametertree.hh>
-#include "fixedpointiterator.hh"
+
+#include "../spatial-solving/fixedpointiterator.hh"
 
 template <class Factory, class Updaters, class ErrorNorm>
 class CoupledTimeStepper {
diff --git a/src/coupledtimestepper_tmpl.cc b/src/time-stepping/coupledtimestepper_tmpl.cc
similarity index 88%
rename from src/coupledtimestepper_tmpl.cc
rename to src/time-stepping/coupledtimestepper_tmpl.cc
index f10309dbeae6a546f5475f06b6f2a41f9b3c9dac..946c282d006a71096347c627031699851a3d8629 100644
--- a/src/coupledtimestepper_tmpl.cc
+++ b/src/time-stepping/coupledtimestepper_tmpl.cc
@@ -2,6 +2,9 @@
 #error MY_DIM unset
 #endif
 
+#include "../explicitgrid.hh"
+#include "../explicitvectors.hh"
+
 #include <dune/common/function.hh>
 
 #include <dune/solvers/norms/energynorm.hh>
@@ -10,11 +13,8 @@
 #include <dune/tectonic/globalfriction.hh>
 #include <dune/tectonic/myblockproblem.hh>
 
-#include "explicitgrid.hh"
-#include "explicitvectors.hh"
-
+#include "../spatial-solving/solverfactory.hh"
 #include "rate/rateupdater.hh"
-#include "solverfactory.hh"
 #include "state/stateupdater.hh"
 #include "updaters.hh"
 
diff --git a/src/rate.cc b/src/time-stepping/rate.cc
similarity index 100%
rename from src/rate.cc
rename to src/time-stepping/rate.cc
diff --git a/src/rate.hh b/src/time-stepping/rate.hh
similarity index 84%
rename from src/rate.hh
rename to src/time-stepping/rate.hh
index b5fe8b3021548bd4baa0fa641167f558ff222826..66b3962b12ec38c3681c78040056b1c3d588c523 100644
--- a/src/rate.hh
+++ b/src/time-stepping/rate.hh
@@ -1,9 +1,9 @@
-#ifndef SRC_RATE_HH
-#define SRC_RATE_HH
+#ifndef SRC_TIME_STEPPING_RATE_HH
+#define SRC_TIME_STEPPING_RATE_HH
 
 #include <memory>
 
-#include "enums.hh"
+#include "../enums.hh"
 #include "rate/rateupdater.hh"
 
 template <class Vector, class Matrix, class Function, int dimension>
diff --git a/src/rate/backward_euler.cc b/src/time-stepping/rate/backward_euler.cc
similarity index 100%
rename from src/rate/backward_euler.cc
rename to src/time-stepping/rate/backward_euler.cc
diff --git a/src/rate/backward_euler.hh b/src/time-stepping/rate/backward_euler.hh
similarity index 87%
rename from src/rate/backward_euler.hh
rename to src/time-stepping/rate/backward_euler.hh
index 1f89a00144e872e55bfda79012d922041b0bba60..a9f3b3e791133862d3aa937315758010632f5ea3 100644
--- a/src/rate/backward_euler.hh
+++ b/src/time-stepping/rate/backward_euler.hh
@@ -1,5 +1,5 @@
-#ifndef SRC_RATE_BACKWARD_EULER_HH
-#define SRC_RATE_BACKWARD_EULER_HH
+#ifndef SRC_TIME_STEPPING_RATE_BACKWARD_EULER_HH
+#define SRC_TIME_STEPPING_RATE_BACKWARD_EULER_HH
 
 template <class Vector, class Matrix, class Function, size_t dim>
 class BackwardEuler : public RateUpdater<Vector, Matrix, Function, dim> {
diff --git a/src/rate/newmark.cc b/src/time-stepping/rate/newmark.cc
similarity index 100%
rename from src/rate/newmark.cc
rename to src/time-stepping/rate/newmark.cc
diff --git a/src/rate/newmark.hh b/src/time-stepping/rate/newmark.hh
similarity index 88%
rename from src/rate/newmark.hh
rename to src/time-stepping/rate/newmark.hh
index 81549bd2eb01dcb74eb6ce534938f0305597c1a8..400eff03ca9b9fdc2bcb3d39a25deea0b087095a 100644
--- a/src/rate/newmark.hh
+++ b/src/time-stepping/rate/newmark.hh
@@ -1,5 +1,5 @@
-#ifndef SRC_RATE_NEWMARK_HH
-#define SRC_RATE_NEWMARK_HH
+#ifndef SRC_TIME_STEPPING_RATE_NEWMARK_HH
+#define SRC_TIME_STEPPING_RATE_NEWMARK_HH
 
 template <class Vector, class Matrix, class Function, size_t dim>
 class Newmark : public RateUpdater<Vector, Matrix, Function, dim> {
diff --git a/src/rate/rateupdater.cc b/src/time-stepping/rate/rateupdater.cc
similarity index 100%
rename from src/rate/rateupdater.cc
rename to src/time-stepping/rate/rateupdater.cc
diff --git a/src/rate/rateupdater.hh b/src/time-stepping/rate/rateupdater.hh
similarity index 90%
rename from src/rate/rateupdater.hh
rename to src/time-stepping/rate/rateupdater.hh
index 19ec717d27f0d903cf9bd4bcaa2608bba70e653e..7ba9c7ba2d4739e2097f557577f4b9300844a839 100644
--- a/src/rate/rateupdater.hh
+++ b/src/time-stepping/rate/rateupdater.hh
@@ -1,11 +1,11 @@
-#ifndef SRC_RATE_RATEUPDATER_HH
-#define SRC_RATE_RATEUPDATER_HH
+#ifndef SRC_TIME_STEPPING_RATE_RATEUPDATER_HH
+#define SRC_TIME_STEPPING_RATE_RATEUPDATER_HH
 
 #include <memory>
 
 #include <dune/common/bitsetvector.hh>
 
-#include "../matrices.hh"
+#include "../../matrices.hh"
 
 template <class Vector, class Matrix, class Function, size_t dim>
 class RateUpdater {
diff --git a/src/rate/rateupdater_tmpl.cc b/src/time-stepping/rate/rateupdater_tmpl.cc
similarity index 89%
rename from src/rate/rateupdater_tmpl.cc
rename to src/time-stepping/rate/rateupdater_tmpl.cc
index 0537ce57bdf1f3e7cfd9d2590652cfc919a854fd..0af5138618c73ba1fba451fe77a6b8cd6f555472 100644
--- a/src/rate/rateupdater_tmpl.cc
+++ b/src/time-stepping/rate/rateupdater_tmpl.cc
@@ -4,7 +4,7 @@
 
 #include <dune/common/function.hh>
 
-#include "../explicitvectors.hh"
+#include "../../explicitvectors.hh"
 
 using Function = Dune::VirtualFunction<double, double>;
 
diff --git a/src/rate_tmpl.cc b/src/time-stepping/rate_tmpl.cc
similarity index 93%
rename from src/rate_tmpl.cc
rename to src/time-stepping/rate_tmpl.cc
index 51788ed329971dcbf56e745f46fdee252be42db9..728d55c4f7ce39dfacdee1bf5aa68058e4104b78 100644
--- a/src/rate_tmpl.cc
+++ b/src/time-stepping/rate_tmpl.cc
@@ -1,6 +1,6 @@
-#include <dune/common/function.hh>
+#include "../explicitvectors.hh"
 
-#include "explicitvectors.hh"
+#include <dune/common/function.hh>
 
 using Function = Dune::VirtualFunction<double, double>;
 
diff --git a/src/state.cc b/src/time-stepping/state.cc
similarity index 100%
rename from src/state.cc
rename to src/time-stepping/state.cc
diff --git a/src/state.hh b/src/time-stepping/state.hh
similarity index 82%
rename from src/state.hh
rename to src/time-stepping/state.hh
index 5726ef3b02dbd97d1d7a3c12c80be32a41ac77b0..cb372217bd04962e7b9b4ad0e507307c19b84945 100644
--- a/src/state.hh
+++ b/src/time-stepping/state.hh
@@ -1,15 +1,14 @@
-#ifndef SRC_STATE_HH
-#define SRC_STATE_HH
+#ifndef SRC_TIME_STEPPING_STATE_HH
+#define SRC_TIME_STEPPING_STATE_HH
 
 #include <memory>
 
 #include <dune/common/bitsetvector.hh>
 
-#include "enums.hh"
-
-#include "state/stateupdater.hh"
+#include "../enums.hh"
 #include "state/ageinglawstateupdater.hh"
 #include "state/sliplawstateupdater.hh"
+#include "state/stateupdater.hh"
 
 template <class ScalarVector, class Vector>
 std::shared_ptr<StateUpdater<ScalarVector, Vector>> initStateUpdater(
diff --git a/src/state/ageinglawstateupdater.cc b/src/time-stepping/state/ageinglawstateupdater.cc
similarity index 98%
rename from src/state/ageinglawstateupdater.cc
rename to src/time-stepping/state/ageinglawstateupdater.cc
index f9e48e258bbbc78a8aca6425f8bc26ea4e6bbe62..26cf0a026b27cc33e74501c0d3e900d41a2202a8 100644
--- a/src/state/ageinglawstateupdater.cc
+++ b/src/time-stepping/state/ageinglawstateupdater.cc
@@ -1,5 +1,5 @@
 #include "ageinglawstateupdater.hh"
-#include "../tobool.hh"
+#include "../../tobool.hh"
 
 template <class ScalarVector, class Vector>
 AgeingLawStateUpdater<ScalarVector, Vector>::AgeingLawStateUpdater(
diff --git a/src/state/ageinglawstateupdater.hh b/src/time-stepping/state/ageinglawstateupdater.hh
similarity index 86%
rename from src/state/ageinglawstateupdater.hh
rename to src/time-stepping/state/ageinglawstateupdater.hh
index 57788084383f55793a7d76c6e4a643055fc0ce33..874e26d5f72a12ed8c7bd76874a694b59a7e33f7 100644
--- a/src/state/ageinglawstateupdater.hh
+++ b/src/time-stepping/state/ageinglawstateupdater.hh
@@ -1,5 +1,5 @@
-#ifndef SRC_STATE_AGEINGLAWSTATEUPDATER_HH
-#define SRC_STATE_AGEINGLAWSTATEUPDATER_HH
+#ifndef SRC_TIME_STEPPING_STATE_AGEINGLAWSTATEUPDATER_HH
+#define SRC_TIME_STEPPING_STATE_AGEINGLAWSTATEUPDATER_HH
 
 #include "stateupdater.hh"
 
diff --git a/src/state/calculation.wxm b/src/time-stepping/state/calculation.wxm
similarity index 100%
rename from src/state/calculation.wxm
rename to src/time-stepping/state/calculation.wxm
diff --git a/src/state/explicit.tex b/src/time-stepping/state/explicit.tex
similarity index 100%
rename from src/state/explicit.tex
rename to src/time-stepping/state/explicit.tex
diff --git a/src/state/sliplawstateupdater.cc b/src/time-stepping/state/sliplawstateupdater.cc
similarity index 98%
rename from src/state/sliplawstateupdater.cc
rename to src/time-stepping/state/sliplawstateupdater.cc
index 7afe306520743c3ed814084f8b189d7fc7d7b1fd..bfccec2feeedb850de11a37bd70dbaf181fa34d1 100644
--- a/src/state/sliplawstateupdater.cc
+++ b/src/time-stepping/state/sliplawstateupdater.cc
@@ -1,5 +1,5 @@
 #include "sliplawstateupdater.hh"
-#include "../tobool.hh"
+#include "../../tobool.hh"
 
 template <class ScalarVector, class Vector>
 SlipLawStateUpdater<ScalarVector, Vector>::SlipLawStateUpdater(
diff --git a/src/state/sliplawstateupdater.hh b/src/time-stepping/state/sliplawstateupdater.hh
similarity index 86%
rename from src/state/sliplawstateupdater.hh
rename to src/time-stepping/state/sliplawstateupdater.hh
index 60a5867cc58299b6a8314a7d3bd89843433a2358..ddf2b26ebd66d1c45ae910ffeb704f07894cdda8 100644
--- a/src/state/sliplawstateupdater.hh
+++ b/src/time-stepping/state/sliplawstateupdater.hh
@@ -1,5 +1,5 @@
-#ifndef SRC_STATE_SLIPLAWSTATEUPDATER_HH
-#define SRC_STATE_SLIPLAWSTATEUPDATER_HH
+#ifndef SRC_TIME_STEPPING_STATE_SLIPLAWSTATEUPDATER_HH
+#define SRC_TIME_STEPPING_STATE_SLIPLAWSTATEUPDATER_HH
 
 #include "stateupdater.hh"
 
diff --git a/src/state/stateupdater.hh b/src/time-stepping/state/stateupdater.hh
similarity index 80%
rename from src/state/stateupdater.hh
rename to src/time-stepping/state/stateupdater.hh
index 9e4495af34e2444345f1f718dc4e077bba2e0bd2..e1431ac1c03ba5f97fadad995ae027964aec8c11 100644
--- a/src/state/stateupdater.hh
+++ b/src/time-stepping/state/stateupdater.hh
@@ -1,5 +1,5 @@
-#ifndef STATE_UPDATER_HH
-#define STATE_UPDATER_HH
+#ifndef SRC_TIME_STEPPING_STATE_STATEUPDATER_HH
+#define SRC_TIME_STEPPING_STATE_STATEUPDATER_HH
 
 template <class ScalarVectorTEMPLATE, class Vector> class StateUpdater {
 public:
diff --git a/src/state_tmpl.cc b/src/time-stepping/state_tmpl.cc
similarity index 87%
rename from src/state_tmpl.cc
rename to src/time-stepping/state_tmpl.cc
index f1969d6405bab78b5d460edfca65582f0bc91c8e..20f4b755788ef24b93028c7f926151cad8c098ca 100644
--- a/src/state_tmpl.cc
+++ b/src/time-stepping/state_tmpl.cc
@@ -1,4 +1,4 @@
-#include "explicitvectors.hh"
+#include "../explicitvectors.hh"
 
 template std::shared_ptr<StateUpdater<ScalarVector, Vector>>
 initStateUpdater<ScalarVector, Vector>(
diff --git a/src/updaters.hh b/src/time-stepping/updaters.hh
similarity index 90%
rename from src/updaters.hh
rename to src/time-stepping/updaters.hh
index f72c4a718c5980684f91294e6666827625311070..d7816ced12b10c153644918c124c7ac202082516 100644
--- a/src/updaters.hh
+++ b/src/time-stepping/updaters.hh
@@ -1,5 +1,5 @@
-#ifndef SRC_UPDATERS_HH
-#define SRC_UPDATERS_HH
+#ifndef SRC_TIME_STEPPING_UPDATERS_HH
+#define SRC_TIME_STEPPING_UPDATERS_HH
 
 template <class RateUpdaterTEMPLATE, class StateUpdaterTEMPLATE>
 struct Updaters {