diff --git a/exercises/exercise-basic/injection2p2cproblem.hh b/exercises/exercise-basic/injection2p2cproblem.hh
index bade4fc295c697004b4a2ad4e12d70d82e607708..81a593983d91023322836cb911ac75d2683cca0b 100644
--- a/exercises/exercise-basic/injection2p2cproblem.hh
+++ b/exercises/exercise-basic/injection2p2cproblem.hh
@@ -27,6 +27,7 @@
 
 #include <dumux/common/properties.hh>
 #include <dumux/porousmediumflow/problem.hh>
+#include <dumux/material/binarycoefficients/h2o_n2.hh>
 
 namespace Dumux {
 
diff --git a/exercises/exercise-biomineralization/chemistry/simplebiominreactions.hh b/exercises/exercise-biomineralization/chemistry/simplebiominreactions.hh
index f7a0f62ab5f0c8ca8baa2e368c9671cacb8560cc..99cce503b46d018e2b541ef636033c72c8c2f5ac 100644
--- a/exercises/exercise-biomineralization/chemistry/simplebiominreactions.hh
+++ b/exercises/exercise-biomineralization/chemistry/simplebiominreactions.hh
@@ -24,6 +24,9 @@
 #ifndef DUMUX_BIOMIN_REACTIONS_HH
 #define DUMUX_BIOMIN_REACTIONS_HH
 
+#include <dumux/common/parameters.hh>
+// #include <dumux-course/exercises/exercise-biomineralization/components/urea.hh>
+
 namespace Dumux {
 
 /*!
@@ -98,6 +101,7 @@ public:
 
         // TODO: dumux-course-task
         // compute rate of ureolysis by implementing Z_urease,biofilm and r_urea
+        Scalar rurea = 0.0;
 
         // compute/set dissolution and precipitation rate of calcite
         Scalar rprec = 0.0;
diff --git a/exercises/exercise-biomineralization/components/biofilm.hh b/exercises/exercise-biomineralization/components/biofilm.hh
index c3348a092628269aeb7d4c9b48d9d6bcd09f51eb..500c33eeff82da2530dac5307117691fd21f9eba 100644
--- a/exercises/exercise-biomineralization/components/biofilm.hh
+++ b/exercises/exercise-biomineralization/components/biofilm.hh
@@ -26,9 +26,9 @@
 
 #include <dumux/material/components/base.hh>
 #include <dumux/material/components/solid.hh>
+#include <dumux/common/parameters.hh>
 
-namespace Dumux {
-namespace Components {
+namespace Dumux::Components {
 
 /*!
  * \ingroup Components
@@ -71,7 +71,6 @@ public:
     }
 };
 
-} // end namespace Components
-} // end namespace Dumux
+} // end namespace Dumux::Components
 
 #endif
diff --git a/exercises/exercise-coupling-ff-pm/interface/properties.hh b/exercises/exercise-coupling-ff-pm/interface/properties.hh
index 67a3dc85ceef3585b703fab984b6d690898831ee..c18e541b650e9435c47289cf6f7c87bbb400f183 100644
--- a/exercises/exercise-coupling-ff-pm/interface/properties.hh
+++ b/exercises/exercise-coupling-ff-pm/interface/properties.hh
@@ -25,6 +25,8 @@
 
 // Both Domains
 #include <dune/grid/yaspgrid.hh>
+#include <dumux/multidomain/staggeredtraits.hh>
+#include <dumux/multidomain/boundary/stokesdarcy/couplingmanager.hh>
 
 // TODO: dumux-course-task 1.C
 //****** uncomment for the last exercise *****//
diff --git a/exercises/exercise-coupling-ff-pm/models/freeflowsubproblem.hh b/exercises/exercise-coupling-ff-pm/models/freeflowsubproblem.hh
index fe8b3ce9f20e685e382ac59a98691cbcdc2fd079..08465b8918520e55956705439d39529fa5557199 100644
--- a/exercises/exercise-coupling-ff-pm/models/freeflowsubproblem.hh
+++ b/exercises/exercise-coupling-ff-pm/models/freeflowsubproblem.hh
@@ -24,11 +24,12 @@
 #ifndef DUMUX_STOKES1P2C_SUBPROBLEM_HH
 #define DUMUX_STOKES1P2C_SUBPROBLEM_HH
 
-#include <dumux/freeflow/navierstokes/problem.hh>
 #include <dumux/common/properties.hh>
+#include <dumux/common/timeloop.hh>
 
-namespace Dumux {
+#include <dumux/freeflow/navierstokes/problem.hh>
 
+namespace Dumux {
 /*!
  * \ingroup NavierStokesTests
  * \brief  Test problem for the one-phase compositional (Navier-) Stokes problem.
diff --git a/exercises/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh b/exercises/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh
index 3ac0dd9e68253e277ebc6742726f00bfe475b809..4d3f7ebb264385ed53978394114ab243e880bce5 100644
--- a/exercises/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh
+++ b/exercises/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh
@@ -24,8 +24,11 @@
 #ifndef DUMUX_DARCY_SUBPROBLEM_HH
 #define DUMUX_DARCY_SUBPROBLEM_HH
 
-#include <dumux/porousmediumflow/problem.hh>
 #include <dumux/common/properties.hh>
+#include <dumux/common/timeloop.hh>
+#include <dumux/io/gnuplotinterface.hh>
+
+#include <dumux/porousmediumflow/problem.hh>
 
 namespace Dumux {
 
diff --git a/exercises/exercise-coupling-ff-pm/models/properties.hh b/exercises/exercise-coupling-ff-pm/models/properties.hh
index 447e5c86a6e1dccf67d480c2398fa1557b0bd34e..fee538b70c515bc6dbbe468d7e3ab702e778096d 100644
--- a/exercises/exercise-coupling-ff-pm/models/properties.hh
+++ b/exercises/exercise-coupling-ff-pm/models/properties.hh
@@ -26,6 +26,8 @@
 
 // Both Domains
 #include <dune/grid/yaspgrid.hh>
+#include <dumux/multidomain/staggeredtraits.hh>
+#include <dumux/multidomain/boundary/stokesdarcy/couplingmanager.hh>
 
 #include <dumux/io/gnuplotinterface.hh>
 #include <dumux/material/fluidsystems/1padapter.hh>
diff --git a/exercises/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh b/exercises/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh
index 6a42d3002ed6d2f0d254ed7d60a11fe00f988391..6367854e9a940848c2022d9fdf0038ee32e25f92 100644
--- a/exercises/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh
+++ b/exercises/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh
@@ -23,13 +23,15 @@
 #ifndef DUMUX_FREEFLOW1P2C_SUBPROBLEM_HH
 #define DUMUX_FREEFLOW1P2C_SUBPROBLEM_HH
 
+#include <dumux/common/properties.hh>
+#include <dumux/common/timeloop.hh>
+#include <dumux/multidomain/boundary/stokesdarcy/couplingdata.hh>
+
 // TODO: dumux-course-task 3.A
 // Include headers for turbulence problem (rans) here.
 #include <dumux/freeflow/navierstokes/problem.hh>
-#include <dumux/common/properties.hh>
 
 namespace Dumux {
-
 /*!
  * \brief The free-flow sub problem
  */
diff --git a/exercises/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh b/exercises/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh
index 376c31713ced2c3a6849b062010ac3fe5718ae22..f4ecbabf80969ab3f07b1353c64f1dd85f2dfa58 100644
--- a/exercises/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh
+++ b/exercises/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh
@@ -26,6 +26,8 @@
 
 #include <dumux/porousmediumflow/problem.hh>
 #include <dumux/common/properties.hh>
+#include <dumux/common/timeloop.hh>
+#include <dumux/multidomain/boundary/stokesdarcy/couplingdata.hh>
 
 namespace Dumux {
 
diff --git a/exercises/exercise-coupling-ff-pm/turbulence/properties.hh b/exercises/exercise-coupling-ff-pm/turbulence/properties.hh
index d1ea847b09bce58cc613fa8bd9f3ec1f542c7ffa..f7c79ed58ae738042eb26ae89ae1b164e0b68730 100644
--- a/exercises/exercise-coupling-ff-pm/turbulence/properties.hh
+++ b/exercises/exercise-coupling-ff-pm/turbulence/properties.hh
@@ -26,6 +26,8 @@
 
 // Both domain
 #include <dune/grid/yaspgrid.hh>
+#include <dumux/multidomain/staggeredtraits.hh>
+#include <dumux/multidomain/boundary/stokesdarcy/couplingmanager.hh>
 
 #include <dumux/material/fluidsystems/h2oair.hh>
 #include <dumux/material/fluidsystems/1padapter.hh>
diff --git a/exercises/solution/exercise-biomineralization/chemistry/simplebiominreactions.hh b/exercises/solution/exercise-biomineralization/chemistry/simplebiominreactions.hh
index 250333faedcafa721dbf9cbcf879e6b7c71a7083..e5c6083570cfcda61a59473f019ff8cd25d54db0 100644
--- a/exercises/solution/exercise-biomineralization/chemistry/simplebiominreactions.hh
+++ b/exercises/solution/exercise-biomineralization/chemistry/simplebiominreactions.hh
@@ -24,6 +24,8 @@
 #ifndef DUMUX_BIOMIN_REACTIONS_HH
 #define DUMUX_BIOMIN_REACTIONS_HH
 
+#include <dumux/common/parameters.hh>
+
 namespace Dumux {
 
 /*!
diff --git a/exercises/solution/exercise-biomineralization/components/biofilm.hh b/exercises/solution/exercise-biomineralization/components/biofilm.hh
index c3348a092628269aeb7d4c9b48d9d6bcd09f51eb..89784cf14d2d755827d9e03a1460242318cd1bb4 100644
--- a/exercises/solution/exercise-biomineralization/components/biofilm.hh
+++ b/exercises/solution/exercise-biomineralization/components/biofilm.hh
@@ -24,11 +24,12 @@
 #ifndef DUMUX_BIOFILM_HH
 #define DUMUX_BIOFILM_HH
 
+#include <dumux/common/parameters.hh>
+
 #include <dumux/material/components/base.hh>
 #include <dumux/material/components/solid.hh>
 
-namespace Dumux {
-namespace Components {
+namespace Dumux::Components {
 
 /*!
  * \ingroup Components
@@ -71,7 +72,6 @@ public:
     }
 };
 
-} // end namespace Components
-} // end namespace Dumux
+} // end namespace Dumux::Components
 
 #endif
diff --git a/exercises/solution/exercise-biomineralization/components/urea.hh b/exercises/solution/exercise-biomineralization/components/urea.hh
index 1dc533034e6aa916663ce26efc8b45b6c8536d84..6d94c979c67bf0b39982f10f484395be4edf4d8c 100644
--- a/exercises/solution/exercise-biomineralization/components/urea.hh
+++ b/exercises/solution/exercise-biomineralization/components/urea.hh
@@ -26,8 +26,7 @@
 
 #include <dumux/material/components/base.hh>
 
-namespace Dumux {
-namespace Components {
+namespace Dumux::Components {
 
 /*!
  * \ingroup Components
@@ -52,7 +51,5 @@ public:
 
 };
 
-} // end namespace Components
-} // end namespace Dumux
-
+} // end namespace Dumux::Components
 #endif
diff --git a/exercises/solution/exercise-biomineralization/solidsystems/biominsolidphase.hh b/exercises/solution/exercise-biomineralization/solidsystems/biominsolidphase.hh
index b74567665f787c46d733426296c43ddfb2481435..be3a1f656c75d5cb320c5bdee2759b6b2fc3b976 100644
--- a/exercises/solution/exercise-biomineralization/solidsystems/biominsolidphase.hh
+++ b/exercises/solution/exercise-biomineralization/solidsystems/biominsolidphase.hh
@@ -27,12 +27,12 @@
 #include <string>
 #include <dune/common/exceptions.hh>
 
-#include "../components/biofilm.hh"
+#include <dumux/common/parameters.hh>
 #include <dumux/material/components/calcite.hh>
 #include <dumux/material/components/granite.hh>
+#include "../components/biofilm.hh"
 
-namespace Dumux {
-namespace SolidSystems {
+namespace Dumux::SolidSystems {
 
 /*!
  * \ingroup SolidSystems
@@ -195,7 +195,6 @@ public:
 
 };
 
-} // end namespace SolidSystems
-} // end namespace Dumux
+} // end namespace Dumux::SolidSystems
 
 #endif
diff --git a/exercises/solution/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh b/exercises/solution/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh
index dd740702f3b52020b471d67337a098dfa18a399d..48c8929e3d85e299481ada46ba0ad9569919a03d 100644
--- a/exercises/solution/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh
+++ b/exercises/solution/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh
@@ -23,11 +23,12 @@
 #ifndef DUMUX_STOKES_SUBPROBLEM_HH
 #define DUMUX_STOKES_SUBPROBLEM_HH
 
-#include <dumux/freeflow/navierstokes/problem.hh>
 #include <dumux/common/properties.hh>
+#include <dumux/common/timeloop.hh>
 
-namespace Dumux {
+#include <dumux/freeflow/navierstokes/problem.hh>
 
+namespace Dumux {
 /*!
  * \brief The free flow sub problem
  */
diff --git a/exercises/solution/exercise-coupling-ff-pm/interface/properties.hh b/exercises/solution/exercise-coupling-ff-pm/interface/properties.hh
index ebca1dee614ab66ede6b68a9a13fe1c9fca28bf0..3574bd07550e59c472512a6681731810b5596196 100644
--- a/exercises/solution/exercise-coupling-ff-pm/interface/properties.hh
+++ b/exercises/solution/exercise-coupling-ff-pm/interface/properties.hh
@@ -26,6 +26,8 @@
 
 // Both domains
 #include <dune/grid/yaspgrid.hh>
+#include <dumux/multidomain/staggeredtraits.hh>
+#include <dumux/multidomain/boundary/stokesdarcy/couplingmanager.hh>
 
 #if EXNUMBER >= 3
 #include <dumux/io/grid/gridmanager_sub.hh>
diff --git a/exercises/solution/exercise-coupling-ff-pm/models/freeflowsubproblem.hh b/exercises/solution/exercise-coupling-ff-pm/models/freeflowsubproblem.hh
index c53bb64f8fc939fa86753d5997c87201fab83b69..70ca05e3d21a18bf5616a1d3b6866a782c72a6bb 100644
--- a/exercises/solution/exercise-coupling-ff-pm/models/freeflowsubproblem.hh
+++ b/exercises/solution/exercise-coupling-ff-pm/models/freeflowsubproblem.hh
@@ -24,11 +24,12 @@
 #ifndef DUMUX_STOKES1P2C_SUBPROBLEM_HH
 #define DUMUX_STOKES1P2C_SUBPROBLEM_HH
 
-#include <dumux/freeflow/navierstokes/problem.hh>
 #include <dumux/common/properties.hh>
+#include <dumux/common/timeloop.hh>
 
-namespace Dumux {
+#include <dumux/freeflow/navierstokes/problem.hh>
 
+namespace Dumux {
 /*!
  * \ingroup NavierStokesTests
  * \brief  Test problem for the one-phase compositional (Navier-) Stokes problem.
diff --git a/exercises/solution/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh b/exercises/solution/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh
index 896d75c4ee07c69a202c08658829989b496ed81e..537126e07e9044f2d24f46d822eb62eb09f3eea1 100644
--- a/exercises/solution/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh
+++ b/exercises/solution/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh
@@ -24,11 +24,13 @@
 #ifndef DUMUX_DARCY_SUBPROBLEM_HH
 #define DUMUX_DARCY_SUBPROBLEM_HH
 
-#include <dumux/porousmediumflow/problem.hh>
 #include <dumux/common/properties.hh>
+#include <dumux/common/timeloop.hh>
 
-namespace Dumux {
+#include <dumux/io/gnuplotinterface.hh>
+#include <dumux/porousmediumflow/problem.hh>
 
+namespace Dumux {
 /*!
  * \brief The porous medium flow sub problem
  */
diff --git a/exercises/solution/exercise-coupling-ff-pm/models/properties.hh b/exercises/solution/exercise-coupling-ff-pm/models/properties.hh
index e54cf22845a00b332a033d9e1f56b1845dc71dce..f33c30055ce27c1edd19a1ee6f8b736eec8ad473 100644
--- a/exercises/solution/exercise-coupling-ff-pm/models/properties.hh
+++ b/exercises/solution/exercise-coupling-ff-pm/models/properties.hh
@@ -30,6 +30,8 @@
 #include <dumux/io/gnuplotinterface.hh>
 #include <dumux/material/fluidsystems/1padapter.hh>
 #include <dumux/material/fluidsystems/h2oair.hh>
+#include <dumux/multidomain/staggeredtraits.hh>
+#include <dumux/multidomain/boundary/stokesdarcy/couplingmanager.hh>
 
 // Porous medium flow domain
 #include <dumux/discretization/cctpfa.hh>
diff --git a/exercises/solution/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh b/exercises/solution/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh
index fe5694348ddc94396ae576d10b89c70072ceaf68..4a0b9a1162d97e4de48a37efc229f3730c8b15ba 100644
--- a/exercises/solution/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh
+++ b/exercises/solution/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh
@@ -29,7 +29,9 @@
 #include <dumux/freeflow/navierstokes/problem.hh>
 #endif
 
+#include <dumux/common/timeloop.hh>
 #include <dumux/common/properties.hh>
+#include <dumux/multidomain/boundary/stokesdarcy/couplingdata.hh>
 
 namespace Dumux {
 
diff --git a/exercises/solution/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh b/exercises/solution/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh
index b6c10c33b8f3709a04ce747986fee671056b2cc2..92c91a982215a62cb43562f5957bd741d694d38d 100644
--- a/exercises/solution/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh
+++ b/exercises/solution/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh
@@ -24,11 +24,13 @@
 #ifndef DUMUX_DARCY2P2C_SUBPROBLEM_HH
 #define DUMUX_DARCY2P2C_SUBPROBLEM_HH
 
-#include <dumux/porousmediumflow/problem.hh>
 #include <dumux/common/properties.hh>
+#include <dumux/common/timeloop.hh>
 
-namespace Dumux {
+#include <dumux/porousmediumflow/problem.hh>
+#include <dumux/multidomain/boundary/stokesdarcy/couplingdata.hh>
 
+namespace Dumux {
 /*!
  * \brief The porous medium sub problem
  */
diff --git a/exercises/solution/exercise-coupling-ff-pm/turbulence/properties.hh b/exercises/solution/exercise-coupling-ff-pm/turbulence/properties.hh
index d4110fb105a126f95f4b6b41e8668d2097a42c69..d025a97412c4dbd95ddad611a45a7872fd27d7c1 100644
--- a/exercises/solution/exercise-coupling-ff-pm/turbulence/properties.hh
+++ b/exercises/solution/exercise-coupling-ff-pm/turbulence/properties.hh
@@ -29,6 +29,8 @@
 
 #include <dumux/material/fluidsystems/1padapter.hh>
 #include <dumux/material/fluidsystems/h2oair.hh>
+#include <dumux/multidomain/staggeredtraits.hh>
+#include <dumux/multidomain/boundary/stokesdarcy/couplingmanager.hh>
 
 // Porous medium flow domain
 #include <dumux/porousmediumflow/2p2c/model.hh>
diff --git a/exercises/solution/exercise-properties/problem.hh b/exercises/solution/exercise-properties/problem.hh
index f218701a74272c6e51cbf6dd6cca45f1313787f5..b1c107aeab974f5e0c8b967a55795662aa1b3386 100644
--- a/exercises/solution/exercise-properties/problem.hh
+++ b/exercises/solution/exercise-properties/problem.hh
@@ -23,6 +23,7 @@
 #ifndef DUMUX_INCOMPRESSIBLE_TWOP_TEST_PROBLEM_HH
 #define DUMUX_INCOMPRESSIBLE_TWOP_TEST_PROBLEM_HH
 
+#include <dumux/material/components/trichloroethene.hh>
 #include <dumux/porousmediumflow/problem.hh>
 #include <dumux/common/properties.hh>