diff --git a/.patches/exercise-coupling-ff-pm/exercise-coupling-ff-pm.patch b/.patches/exercise-coupling-ff-pm/exercise-coupling-ff-pm.patch
index 4b5573729ef7049ee30a4ac3c34bf419a27292bc..b70084c562c7fab5a9936bb1628adb0f186d6dd7 100644
--- a/.patches/exercise-coupling-ff-pm/exercise-coupling-ff-pm.patch
+++ b/.patches/exercise-coupling-ff-pm/exercise-coupling-ff-pm.patch
@@ -1,6 +1,6 @@
 diff -ruN exercises/exercise-coupling-ff-pm/interface/CMakeLists.txt exercises/solution/exercise-coupling-ff-pm/interface/CMakeLists.txt
---- exercises/exercise-coupling-ff-pm/interface/CMakeLists.txt	2024-07-17 14:21:07.396209997 +0200
-+++ exercises/solution/exercise-coupling-ff-pm/interface/CMakeLists.txt	2024-07-17 14:21:07.400210015 +0200
+--- exercises/exercise-coupling-ff-pm/interface/CMakeLists.txt	2024-07-17 19:47:15.764585106 +0200
++++ exercises/solution/exercise-coupling-ff-pm/interface/CMakeLists.txt	2024-07-17 19:47:15.772585303 +0200
 @@ -1,10 +1,30 @@
  # SPDX-FileCopyrightInfo: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
  # SPDX-License-Identifier: GPL-3.0-or-later
@@ -36,8 +36,8 @@ diff -ruN exercises/exercise-coupling-ff-pm/interface/CMakeLists.txt exercises/s
  # add a symlink for each input file
  add_input_file_links()
 diff -ruN exercises/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh exercises/solution/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh
---- exercises/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh	2024-07-17 14:21:07.396209997 +0200
-+++ exercises/solution/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh	2024-07-17 14:21:07.400210015 +0200
+--- exercises/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh	2024-07-17 19:47:15.764585106 +0200
++++ exercises/solution/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh	2024-07-17 19:47:15.772585303 +0200
 @@ -71,8 +71,7 @@
  
          const auto& globalPos = scvf.dofPosition();
@@ -135,8 +135,8 @@ diff -ruN exercises/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh exer
      }
  
 diff -ruN exercises/exercise-coupling-ff-pm/interface/main.cc exercises/solution/exercise-coupling-ff-pm/interface/main.cc
---- exercises/exercise-coupling-ff-pm/interface/main.cc	2024-07-17 14:21:07.396209997 +0200
-+++ exercises/solution/exercise-coupling-ff-pm/interface/main.cc	2024-07-17 14:55:41.548286394 +0200
+--- exercises/exercise-coupling-ff-pm/interface/main.cc	2024-07-17 19:47:15.764585106 +0200
++++ exercises/solution/exercise-coupling-ff-pm/interface/main.cc	2024-07-17 19:47:15.772585303 +0200
 @@ -52,9 +52,7 @@
      using FreeflowTypeTag = Properties::TTag::FreeflowOneP;
      using PorousMediumTypeTag = Properties::TTag::PorousMediumFlowOneP;
@@ -262,9 +262,47 @@ diff -ruN exercises/exercise-coupling-ff-pm/interface/main.cc exercises/solution
  
      using PorousMediumSolutionVector = GetPropType<PorousMediumTypeTag, Properties::SolutionVector>;
      VtkOutputModule<PorousMediumGridVariables, PorousMediumSolutionVector> porousMediumVtkWriter(*porousMediumGridVariables,
+diff -ruN exercises/exercise-coupling-ff-pm/interface/params.input exercises/solution/exercise-coupling-ff-pm/interface/params.input
+--- exercises/exercise-coupling-ff-pm/interface/params.input	2024-07-31 14:00:26.830895056 +0200
++++ exercises/solution/exercise-coupling-ff-pm/interface/params.input	2024-07-31 14:00:26.830895056 +0200
+@@ -1,16 +1,14 @@
+-# # TODO: dumux-course-task 1.C: uncomment the following group [Grid]
+-# # for dune-subgrid
+-#[Grid]
+-#Positions0 = 0 1
+-#Positions1 = 0 0.2 0.3 0.65
+-#Cells0 = 100
+-#Cells1 = 10 50 18
+-#Baseline = 0.25 # [m]
+-#Amplitude = 0.04 # [m]
+-#Offset = 0.5 # [m]
+-#Scaling = 0.2 #[m]
++# for dune-subgrid
++[Grid]
++Positions0 = 0 1
++Positions1 = 0 0.2 0.3 0.65
++Cells0 = 100
++Cells1 = 10 50 18
++Baseline = 0.25 # [m]
++Amplitude = 0.04 # [m]
++Offset = 0.5 # [m]
++Scaling = 0.2 #[m]
+ 
+-# TODO: dumux-course-task 1.C: comment or delete the group [Freeflow.Grid]
+ [Freeflow.Grid]
+ Verbosity = true
+ Positions0 = 0.0 1.0
+@@ -19,7 +17,6 @@
+ Cells1 = 100
+ Grading1 = 1
+ 
+-# TODO: dumux-course-task 1.C: comment or delete the group [PorousMedium.Grid]
+ [PorousMedium.Grid]
+ Verbosity = true
+ Positions0 = 0.0 1.0
 diff -ruN exercises/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh exercises/solution/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh
---- exercises/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh	2024-07-17 14:55:41.548286394 +0200
-+++ exercises/solution/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh	2024-07-17 14:55:41.548286394 +0200
+--- exercises/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh	2024-07-17 19:47:15.764585106 +0200
++++ exercises/solution/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh	2024-07-24 09:36:05.710158540 +0200
 @@ -68,9 +68,10 @@
          // set Neumann BCs to all boundaries first
          values.setAllNeumann();
@@ -278,8 +316,8 @@ diff -ruN exercises/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh
          // set the coupling boundary condition at the interface
          if (couplingManager().isCoupledEntity(CouplingManager::darcyIdx, scvf))
 diff -ruN exercises/exercise-coupling-ff-pm/interface/properties.hh exercises/solution/exercise-coupling-ff-pm/interface/properties.hh
---- exercises/exercise-coupling-ff-pm/interface/properties.hh	2024-07-17 14:55:41.548286394 +0200
-+++ exercises/solution/exercise-coupling-ff-pm/interface/properties.hh	2024-07-17 14:21:07.400210015 +0200
+--- exercises/exercise-coupling-ff-pm/interface/properties.hh	2024-07-17 19:47:15.764585106 +0200
++++ exercises/solution/exercise-coupling-ff-pm/interface/properties.hh	2024-07-17 19:47:15.772585303 +0200
 @@ -16,9 +16,9 @@
  #include <dumux/multidomain/staggeredtraits.hh>
  #include <dumux/multidomain/boundary/stokesdarcy/couplingmanager.hh>
@@ -336,9 +374,9 @@ diff -ruN exercises/exercise-coupling-ff-pm/interface/properties.hh exercises/so
  
  template<class TypeTag>
 diff -ruN exercises/exercise-coupling-ff-pm/interface/README.md exercises/solution/exercise-coupling-ff-pm/interface/README.md
---- exercises/exercise-coupling-ff-pm/interface/README.md	2024-07-18 11:55:02.684061212 +0200
+--- exercises/exercise-coupling-ff-pm/interface/README.md	2024-07-31 14:00:26.830895056 +0200
 +++ exercises/solution/exercise-coupling-ff-pm/interface/README.md	1970-01-01 01:00:00.000000000 +0100
-@@ -1,169 +0,0 @@
+@@ -1,175 +0,0 @@
 -## 1. Changing the interface
 -
 -In this part of the exercise, a simple coupled system consisting of a one-phase (1p) free flow and a one-phase flow in a porous medium is set up. Both subproblems have no-flow boundaries at the sides.
@@ -401,9 +439,12 @@ diff -ruN exercises/exercise-coupling-ff-pm/interface/README.md exercises/soluti
 -    values[Indices::pressureIdx] = 0.0;
 -```
 -
--For changing the flow direction, the boundary conditions for the porous medium have to be changed as well.
+-This should make the flow go from left to right.
+-If not already done, you can also delete the vertical velocity from `dirichletAtPos`, as Dirichlet-type boundary conditions should be set for the pressure.
+-
+-For changing the flow direction, the boundary conditions for the porous medium (in `interface/porousmediumsubproblem.hh`) have to be changed as well.
 -
--Use Neumann no-flow boundaries everywhere, keep the coupling conditions.
+-Use Neumann no-flow boundaries everywhere and keep the coupling conditions.
 -``` cpp
 -values.setAllNeumann();
 -
@@ -411,9 +452,6 @@ diff -ruN exercises/exercise-coupling-ff-pm/interface/README.md exercises/soluti
 -    values.setAllCouplingNeumann();
 -```
 -
--This should make the flow go from left to right.
--You can also delete the vertical velocity from `dirichletAtPos`, as Dirichlet-type boundary conditions should be set for the pressure.
--
 -Recompile and rerun your code. Then check your results with the applied changes by visualizing them e.g. with paraview.
 -
 -### Task B: Include slip-condition
@@ -446,6 +484,8 @@ diff -ruN exercises/exercise-coupling-ff-pm/interface/README.md exercises/soluti
 -After re-compiling and re-running the executable, we should be able to see also
 -the analytical solution of $`v_x`$ on the free flow domain. Play around with the grid resolution in the input file to see how that affects the resulting velocity profile.
 -
+-> Note: In Paraview you can e.g. use the tool `PlotOverLine` to plot the velocity in $x$-direction ($v_x$) over the y-Axis (e.g. at the outlet or the middle of the domain). After choosing `PlotOverLine` make sure to give the Point 1 and the Point 2 to define the line or click on the button `Y Axis` and check the coordinates of the points. Click on `Apply` and in section `Series Parameters` choose to only visualize `velocity_gas(m/s)_X` and `analyticalV_x`.
+-
 -### Task C: Change the shape of interface
 -
 -Now we want to include a non-flat interface between the two domains.
@@ -480,6 +520,10 @@ diff -ruN exercises/exercise-coupling-ff-pm/interface/README.md exercises/soluti
 -
 -and do the changes in the respective lines for the `Grid` property.
 -
+-As well we have to define the parameters only for the base grid if using `dune-subgrid`. For this uncomment the block `[Grid]` in `interface/params.input` and comment the groups `[Freeflow.Grid]` and `[PorousMedium.Grid]`. 
+-
+->Note: The four additional parameters `Baseline`, `Amplitude`, `Offset` and `Scaling` define the sinus-shaped interface in the main-file (the block you previously uncommented).
+-
 -The problem should now compile. However, a runtime error occurs due to the coupling conditions.
 -So far, we assumed a flat interface, therefore the normal momentum coupling condition
 -
@@ -509,8 +553,8 @@ diff -ruN exercises/exercise-coupling-ff-pm/interface/README.md exercises/soluti
 -What changes to the left boundary conditions in the free-flow domain would you make to introduce this? What conditions can be enforced on the right boundary?
 -Hint: A relation between velocity and position is used for the vertical velocity component in the original form of the `dirichletAtPos` method.
 diff -ruN exercises/exercise-coupling-ff-pm/models/CMakeLists.txt exercises/solution/exercise-coupling-ff-pm/models/CMakeLists.txt
---- exercises/exercise-coupling-ff-pm/models/CMakeLists.txt	2024-07-17 14:21:07.396209997 +0200
-+++ exercises/solution/exercise-coupling-ff-pm/models/CMakeLists.txt	2024-07-17 14:21:07.400210015 +0200
+--- exercises/exercise-coupling-ff-pm/models/CMakeLists.txt	2024-07-17 19:47:15.764585106 +0200
++++ exercises/solution/exercise-coupling-ff-pm/models/CMakeLists.txt	2024-07-17 19:47:15.772585303 +0200
 @@ -1,9 +1,32 @@
  # SPDX-FileCopyrightInfo: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
  # SPDX-License-Identifier: GPL-3.0-or-later
@@ -549,8 +593,8 @@ diff -ruN exercises/exercise-coupling-ff-pm/models/CMakeLists.txt exercises/solu
 +
 +dune_symlink_to_source_files(FILES "params_orig_a.input" "params_b_c.input" plotFluxes.py)
 diff -ruN exercises/exercise-coupling-ff-pm/models/main.cc exercises/solution/exercise-coupling-ff-pm/models/main.cc
---- exercises/exercise-coupling-ff-pm/models/main.cc	2024-07-17 14:21:07.396209997 +0200
-+++ exercises/solution/exercise-coupling-ff-pm/models/main.cc	2024-07-17 14:21:07.400210015 +0200
+--- exercises/exercise-coupling-ff-pm/models/main.cc	2024-07-17 19:47:15.764585106 +0200
++++ exercises/solution/exercise-coupling-ff-pm/models/main.cc	2024-07-17 19:47:15.772585303 +0200
 @@ -127,9 +127,15 @@
      auto porousMediumGridVariables = std::make_shared<PorousMediumGridVariables>(porousMediumProblem, porousMediumFvGridGeometry);
      porousMediumGridVariables->init(sol[porousMediumIdx]);
@@ -572,7 +616,7 @@ diff -ruN exercises/exercise-coupling-ff-pm/models/main.cc exercises/solution/ex
      GetPropType<FreeflowTypeTag, Properties::IOFields>::initOutputModule(freeflowVtkWriter);
 diff -ruN exercises/exercise-coupling-ff-pm/models/params_b_c.input exercises/solution/exercise-coupling-ff-pm/models/params_b_c.input
 --- exercises/exercise-coupling-ff-pm/models/params_b_c.input	1970-01-01 01:00:00.000000000 +0100
-+++ exercises/solution/exercise-coupling-ff-pm/models/params_b_c.input	2024-07-17 10:49:57.312824738 +0200
++++ exercises/solution/exercise-coupling-ff-pm/models/params_b_c.input	2024-07-16 16:24:43.138116435 +0200
 @@ -0,0 +1,57 @@
 +[TimeLoop]
 +DtInitial = 100 # s
@@ -632,7 +676,7 @@ diff -ruN exercises/exercise-coupling-ff-pm/models/params_b_c.input exercises/so
 +[Assembly]
 +NumericDifference.BaseEpsilon = 1e-8
 diff -ruN exercises/exercise-coupling-ff-pm/models/params.input exercises/solution/exercise-coupling-ff-pm/models/params.input
---- exercises/exercise-coupling-ff-pm/models/params.input	2024-07-17 14:55:41.548286394 +0200
+--- exercises/exercise-coupling-ff-pm/models/params.input	2024-07-17 19:47:15.764585106 +0200
 +++ exercises/solution/exercise-coupling-ff-pm/models/params.input	1970-01-01 01:00:00.000000000 +0100
 @@ -1,58 +0,0 @@
 -[TimeLoop]
@@ -695,7 +739,7 @@ diff -ruN exercises/exercise-coupling-ff-pm/models/params.input exercises/soluti
 -NumericDifference.BaseEpsilon = 1e-8
 diff -ruN exercises/exercise-coupling-ff-pm/models/params_orig_a.input exercises/solution/exercise-coupling-ff-pm/models/params_orig_a.input
 --- exercises/exercise-coupling-ff-pm/models/params_orig_a.input	1970-01-01 01:00:00.000000000 +0100
-+++ exercises/solution/exercise-coupling-ff-pm/models/params_orig_a.input	2024-07-17 10:49:57.312824738 +0200
++++ exercises/solution/exercise-coupling-ff-pm/models/params_orig_a.input	2024-07-17 10:59:09.002904720 +0200
 @@ -0,0 +1,56 @@
 +[TimeLoop]
 +DtInitial = 100 # s
@@ -754,8 +798,8 @@ diff -ruN exercises/exercise-coupling-ff-pm/models/params_orig_a.input exercises
 +[Assembly]
 +NumericDifference.BaseEpsilon = 1e-8
 diff -ruN exercises/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh exercises/solution/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh
---- exercises/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh	2024-07-17 14:55:41.548286394 +0200
-+++ exercises/solution/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh	2024-07-17 14:55:41.548286394 +0200
+--- exercises/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh	2024-07-17 19:47:15.764585106 +0200
++++ exercises/solution/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh	2024-07-17 19:47:15.772585303 +0200
 @@ -52,10 +52,15 @@
      // primary variable indices
      static constexpr int conti0EqIdx = Indices::conti0EqIdx;
@@ -877,8 +921,8 @@ diff -ruN exercises/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh exe
      std::shared_ptr<CouplingManager> couplingManager_;
  
 diff -ruN exercises/exercise-coupling-ff-pm/models/properties.hh exercises/solution/exercise-coupling-ff-pm/models/properties.hh
---- exercises/exercise-coupling-ff-pm/models/properties.hh	2024-07-17 14:55:41.548286394 +0200
-+++ exercises/solution/exercise-coupling-ff-pm/models/properties.hh	2024-07-17 14:21:07.400210015 +0200
+--- exercises/exercise-coupling-ff-pm/models/properties.hh	2024-07-17 19:47:15.764585106 +0200
++++ exercises/solution/exercise-coupling-ff-pm/models/properties.hh	2024-07-17 19:47:15.772585303 +0200
 @@ -25,12 +25,14 @@
  #include <dumux/discretization/cctpfa.hh>
  #include <dumux/material/fluidmatrixinteractions/diffusivityconstanttortuosity.hh>
@@ -961,7 +1005,7 @@ diff -ruN exercises/exercise-coupling-ff-pm/models/properties.hh exercises/solut
  template<class TypeTag>
  struct EnableGridGeometryCache<TypeTag, TTag::FreeflowNC> { static constexpr bool value = true; };
 diff -ruN exercises/exercise-coupling-ff-pm/models/README.md exercises/solution/exercise-coupling-ff-pm/models/README.md
---- exercises/exercise-coupling-ff-pm/models/README.md	2024-07-18 11:54:48.515971823 +0200
+--- exercises/exercise-coupling-ff-pm/models/README.md	2024-07-18 12:31:29.324898816 +0200
 +++ exercises/solution/exercise-coupling-ff-pm/models/README.md	1970-01-01 01:00:00.000000000 +0100
 @@ -1,118 +0,0 @@
 -## 2. Changing the porous medium model
@@ -1083,7 +1127,7 @@ diff -ruN exercises/exercise-coupling-ff-pm/models/README.md exercises/solution/
 -
 -Now you are able to simulate a complete drying of the porous medium. Have a look the resulting liquid saturation distribution within the porous medium (with using paraview).
 diff -ruN exercises/exercise-coupling-ff-pm/README.md exercises/solution/exercise-coupling-ff-pm/README.md
---- exercises/exercise-coupling-ff-pm/README.md	2024-07-18 11:54:48.515971823 +0200
+--- exercises/exercise-coupling-ff-pm/README.md	2024-07-31 14:00:29.098952621 +0200
 +++ exercises/solution/exercise-coupling-ff-pm/README.md	1970-01-01 01:00:00.000000000 +0100
 @@ -1,125 +0,0 @@
 -# Exercise Coupling free flow/porous medium flow (DuMuX Course)
@@ -1189,10 +1233,10 @@ diff -ruN exercises/exercise-coupling-ff-pm/README.md exercises/solution/exercis
 -        return values;
 -    }
 -```
--Note that certain checks are performed when combining different models, e.g., the fluid system has to be the same for both domains
+-> Note: Certain checks are performed when combining different models, e.g., the fluid system has to be the same for both domains
 -and the sub-control-volume faces at the interface have to match.
--
--We will use a staggered grid (also calles Marker-and-Cell method - MAC) to discretize the free-flow domain and a cell-centered finite volume (CCFV) method for the porous medium domain.
+->
+-We will use a staggered grid (also called Marker-and-Cell method - MAC) to discretize the free-flow domain and a cell-centered finite volume (CCFV) method for the porous medium domain.
 -Keep in mind that the staggered grid implementation distinguishes between face variables (velocity components) and cell center variables (all other variables).
 -For this reason one distinguishes between `CouplingManager::stokesCellCenterIdx` and `CouplingManager::stokesFaceIdx` indices (see `main.cc`), while for the porous medium all variables can be accessed with `CouplingManager::darcyIdx`.
 -
@@ -1212,8 +1256,8 @@ diff -ruN exercises/exercise-coupling-ff-pm/README.md exercises/solution/exercis
 -* [**Exercise 2:** Changing the porous medium model](./models/README.md)
 -* [**Exercise 3:** Introducing a turbulence model in the free flow domain](./turbulence/README.md)
 diff -ruN exercises/exercise-coupling-ff-pm/turbulence/CMakeLists.txt exercises/solution/exercise-coupling-ff-pm/turbulence/CMakeLists.txt
---- exercises/exercise-coupling-ff-pm/turbulence/CMakeLists.txt	2024-07-17 14:21:07.396209997 +0200
-+++ exercises/solution/exercise-coupling-ff-pm/turbulence/CMakeLists.txt	2024-07-17 14:21:07.400210015 +0200
+--- exercises/exercise-coupling-ff-pm/turbulence/CMakeLists.txt	2024-07-17 19:47:15.764585106 +0200
++++ exercises/solution/exercise-coupling-ff-pm/turbulence/CMakeLists.txt	2024-07-17 19:47:15.772585303 +0200
 @@ -1,10 +1,33 @@
  # SPDX-FileCopyrightInfo: Copyright © DuMux-Course contributors, see AUTHORS.md in root folder
  # SPDX-License-Identifier: GPL-3.0-or-later
@@ -1252,8 +1296,8 @@ diff -ruN exercises/exercise-coupling-ff-pm/turbulence/CMakeLists.txt exercises/
  # add a symlink for each input file
  add_input_file_links()
 diff -ruN exercises/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh exercises/solution/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh
---- exercises/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh	2024-07-17 14:55:41.548286394 +0200
-+++ exercises/solution/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh	2024-07-17 14:55:41.548286394 +0200
+--- exercises/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh	2024-07-17 19:47:15.764585106 +0200
++++ exercises/solution/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh	2024-07-17 19:47:15.772585303 +0200
 @@ -8,8 +8,8 @@
   * \file
   * \brief The free-flow sub problem
@@ -1469,8 +1513,8 @@ diff -ruN exercises/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh exe
          return values;
      }
 diff -ruN exercises/exercise-coupling-ff-pm/turbulence/main.cc exercises/solution/exercise-coupling-ff-pm/turbulence/main.cc
---- exercises/exercise-coupling-ff-pm/turbulence/main.cc	2024-07-17 14:21:07.396209997 +0200
-+++ exercises/solution/exercise-coupling-ff-pm/turbulence/main.cc	2024-07-17 14:55:41.548286394 +0200
+--- exercises/exercise-coupling-ff-pm/turbulence/main.cc	2024-07-17 19:47:15.764585106 +0200
++++ exercises/solution/exercise-coupling-ff-pm/turbulence/main.cc	2024-07-17 19:47:15.772585303 +0200
 @@ -122,11 +122,12 @@
  
      couplingManager->init(freeflowProblem, porousMediumProblem, sol);
@@ -1501,7 +1545,7 @@ diff -ruN exercises/exercise-coupling-ff-pm/turbulence/main.cc exercises/solutio
          porousMediumProblem->postTimeStep(sol[porousMediumIdx], *porousMediumGridVariables, timeLoop->timeStepSize());
 diff -ruN exercises/exercise-coupling-ff-pm/turbulence/params_b.input exercises/solution/exercise-coupling-ff-pm/turbulence/params_b.input
 --- exercises/exercise-coupling-ff-pm/turbulence/params_b.input	1970-01-01 01:00:00.000000000 +0100
-+++ exercises/solution/exercise-coupling-ff-pm/turbulence/params_b.input	2024-07-17 10:49:57.312824738 +0200
++++ exercises/solution/exercise-coupling-ff-pm/turbulence/params_b.input	2024-07-16 16:24:43.138116435 +0200
 @@ -0,0 +1,72 @@
 +[TimeLoop]
 +DtInitial =  1e-1 # [s]
@@ -1577,7 +1621,7 @@ diff -ruN exercises/exercise-coupling-ff-pm/turbulence/params_b.input exercises/
 +IsFlatWallBounded = True
 diff -ruN exercises/exercise-coupling-ff-pm/turbulence/params_c_d.input exercises/solution/exercise-coupling-ff-pm/turbulence/params_c_d.input
 --- exercises/exercise-coupling-ff-pm/turbulence/params_c_d.input	1970-01-01 01:00:00.000000000 +0100
-+++ exercises/solution/exercise-coupling-ff-pm/turbulence/params_c_d.input	2024-07-17 10:49:57.312824738 +0200
++++ exercises/solution/exercise-coupling-ff-pm/turbulence/params_c_d.input	2024-07-16 16:24:43.138116435 +0200
 @@ -0,0 +1,72 @@
 +[TimeLoop]
 +DtInitial =  1e-1 # [s]
@@ -1652,7 +1696,7 @@ diff -ruN exercises/exercise-coupling-ff-pm/turbulence/params_c_d.input exercise
 +[RANS]
 +IsFlatWallBounded = True
 diff -ruN exercises/exercise-coupling-ff-pm/turbulence/params.input exercises/solution/exercise-coupling-ff-pm/turbulence/params.input
---- exercises/exercise-coupling-ff-pm/turbulence/params.input	2024-07-17 10:49:57.308824748 +0200
+--- exercises/exercise-coupling-ff-pm/turbulence/params.input	2024-07-16 16:24:43.138116435 +0200
 +++ exercises/solution/exercise-coupling-ff-pm/turbulence/params.input	1970-01-01 01:00:00.000000000 +0100
 @@ -1,73 +0,0 @@
 -[TimeLoop]
@@ -1730,7 +1774,7 @@ diff -ruN exercises/exercise-coupling-ff-pm/turbulence/params.input exercises/so
 -SolidHeatCapacity = 790
 diff -ruN exercises/exercise-coupling-ff-pm/turbulence/params_orig_a.input exercises/solution/exercise-coupling-ff-pm/turbulence/params_orig_a.input
 --- exercises/exercise-coupling-ff-pm/turbulence/params_orig_a.input	1970-01-01 01:00:00.000000000 +0100
-+++ exercises/solution/exercise-coupling-ff-pm/turbulence/params_orig_a.input	2024-07-17 10:49:57.312824738 +0200
++++ exercises/solution/exercise-coupling-ff-pm/turbulence/params_orig_a.input	2024-07-16 16:24:43.138116435 +0200
 @@ -0,0 +1,72 @@
 +[TimeLoop]
 +DtInitial =  1e-1 # [s]
@@ -1805,8 +1849,8 @@ diff -ruN exercises/exercise-coupling-ff-pm/turbulence/params_orig_a.input exerc
 +[RANS]
 +IsFlatWallBounded = True
 diff -ruN exercises/exercise-coupling-ff-pm/turbulence/properties.hh exercises/solution/exercise-coupling-ff-pm/turbulence/properties.hh
---- exercises/exercise-coupling-ff-pm/turbulence/properties.hh	2024-07-17 14:55:41.548286394 +0200
-+++ exercises/solution/exercise-coupling-ff-pm/turbulence/properties.hh	2024-07-17 14:21:07.404210034 +0200
+--- exercises/exercise-coupling-ff-pm/turbulence/properties.hh	2024-07-17 19:47:15.764585106 +0200
++++ exercises/solution/exercise-coupling-ff-pm/turbulence/properties.hh	2024-07-17 19:47:15.772585303 +0200
 @@ -8,8 +8,8 @@
   * \file
   * \brief The coupled exercise properties file or the turbulent case.
@@ -1848,7 +1892,7 @@ diff -ruN exercises/exercise-coupling-ff-pm/turbulence/properties.hh exercises/s
  
  // Set the coupling manager
 diff -ruN exercises/exercise-coupling-ff-pm/turbulence/README.md exercises/solution/exercise-coupling-ff-pm/turbulence/README.md
---- exercises/exercise-coupling-ff-pm/turbulence/README.md	2024-07-18 11:55:02.684061212 +0200
+--- exercises/exercise-coupling-ff-pm/turbulence/README.md	2024-07-24 09:37:33.016088677 +0200
 +++ exercises/solution/exercise-coupling-ff-pm/turbulence/README.md	1970-01-01 01:00:00.000000000 +0100
 @@ -1,126 +0,0 @@
 -## 3. Use a turbulence model in the free flow domain
diff --git a/exercises/exercise-coupling-ff-pm/README.md b/exercises/exercise-coupling-ff-pm/README.md
index 13840c408f85119025dccb9d09156975a07ccee5..b2e4a34cfa13d76ba85a9c1b4ce8eef3cb571e65 100644
--- a/exercises/exercise-coupling-ff-pm/README.md
+++ b/exercises/exercise-coupling-ff-pm/README.md
@@ -101,10 +101,10 @@ mass and momentum fluxes coming from the porous domain and uses these values as
         return values;
     }
 ```
-Note that certain checks are performed when combining different models, e.g., the fluid system has to be the same for both domains
+> Note: Certain checks are performed when combining different models, e.g., the fluid system has to be the same for both domains
 and the sub-control-volume faces at the interface have to match.
-
-We will use a staggered grid (also calles Marker-and-Cell method - MAC) to discretize the free-flow domain and a cell-centered finite volume (CCFV) method for the porous medium domain.
+>
+We will use a staggered grid (also called Marker-and-Cell method - MAC) to discretize the free-flow domain and a cell-centered finite volume (CCFV) method for the porous medium domain.
 Keep in mind that the staggered grid implementation distinguishes between face variables (velocity components) and cell center variables (all other variables).
 For this reason one distinguishes between `CouplingManager::stokesCellCenterIdx` and `CouplingManager::stokesFaceIdx` indices (see `main.cc`), while for the porous medium all variables can be accessed with `CouplingManager::darcyIdx`.
 
diff --git a/exercises/exercise-coupling-ff-pm/interface/README.md b/exercises/exercise-coupling-ff-pm/interface/README.md
index 212e0ac1948249294df50a807b3199207253443d..c13802cfa6061a99d36d0f80d180744472bd9f39 100644
--- a/exercises/exercise-coupling-ff-pm/interface/README.md
+++ b/exercises/exercise-coupling-ff-pm/interface/README.md
@@ -60,9 +60,12 @@ if(onRightBoundary_(globalPos))
     values[Indices::pressureIdx] = 0.0;
 ```
 
-For changing the flow direction, the boundary conditions for the porous medium have to be changed as well.
+This should make the flow go from left to right.
+If not already done, you can also delete the vertical velocity from `dirichletAtPos`, as Dirichlet-type boundary conditions should be set for the pressure.
+
+For changing the flow direction, the boundary conditions for the porous medium (in `interface/porousmediumsubproblem.hh`) have to be changed as well.
 
-Use Neumann no-flow boundaries everywhere, keep the coupling conditions.
+Use Neumann no-flow boundaries everywhere and keep the coupling conditions.
 ``` cpp
 values.setAllNeumann();
 
@@ -70,9 +73,6 @@ if (couplingManager().isCoupledEntity(CouplingManager::darcyIdx, scvf))
     values.setAllCouplingNeumann();
 ```
 
-This should make the flow go from left to right.
-You can also delete the vertical velocity from `dirichletAtPos`, as Dirichlet-type boundary conditions should be set for the pressure.
-
 Recompile and rerun your code. Then check your results with the applied changes by visualizing them e.g. with paraview.
 
 ### Task B: Include slip-condition
@@ -105,6 +105,8 @@ freeflowVtkWriter.addField(freeflowProblem->getAnalyticalVelocityX(), "analytica
 After re-compiling and re-running the executable, we should be able to see also
 the analytical solution of $`v_x`$ on the free flow domain. Play around with the grid resolution in the input file to see how that affects the resulting velocity profile.
 
+> Note: In Paraview you can e.g. use the tool `PlotOverLine` to plot the velocity in $x$-direction ($v_x$) over the y-Axis (e.g. at the outlet or the middle of the domain). After choosing `PlotOverLine` make sure to give the Point 1 and the Point 2 to define the line or click on the button `Y Axis` and check the coordinates of the points. Click on `Apply` and in section `Series Parameters` choose to only visualize `velocity_gas(m/s)_X` and `analyticalV_x`.
+
 ### Task C: Change the shape of interface
 
 Now we want to include a non-flat interface between the two domains.
@@ -139,6 +141,10 @@ Make sure that you have uncommented the line for including the grid manager in t
 
 and do the changes in the respective lines for the `Grid` property.
 
+As well we have to define the parameters only for the base grid if using `dune-subgrid`. For this uncomment the block `[Grid]` in `interface/params.input` and comment the groups `[Freeflow.Grid]` and `[PorousMedium.Grid]`. 
+
+>Note: The four additional parameters `Baseline`, `Amplitude`, `Offset` and `Scaling` define the sinus-shaped interface in the main-file (the block you previously uncommented).
+
 The problem should now compile. However, a runtime error occurs due to the coupling conditions.
 So far, we assumed a flat interface, therefore the normal momentum coupling condition
 
diff --git a/exercises/exercise-coupling-ff-pm/interface/params.input b/exercises/exercise-coupling-ff-pm/interface/params.input
index eab4c116545ff15c89fd02e2ea78671d5d31b49a..ed2bfc3cdd2dfdce49f0d4fd8ed05ee327a0bb6c 100644
--- a/exercises/exercise-coupling-ff-pm/interface/params.input
+++ b/exercises/exercise-coupling-ff-pm/interface/params.input
@@ -1,14 +1,16 @@
-# for dune-subgrid
-[Grid]
-Positions0 = 0 1
-Positions1 = 0 0.2 0.3 0.65
-Cells0 = 100
-Cells1 = 10 50 18
-Baseline = 0.25 # [m]
-Amplitude = 0.04 # [m]
-Offset = 0.5 # [m]
-Scaling = 0.2 #[m]
+# # TODO: dumux-course-task 1.C: uncomment the following group [Grid]
+# # for dune-subgrid
+#[Grid]
+#Positions0 = 0 1
+#Positions1 = 0 0.2 0.3 0.65
+#Cells0 = 100
+#Cells1 = 10 50 18
+#Baseline = 0.25 # [m]
+#Amplitude = 0.04 # [m]
+#Offset = 0.5 # [m]
+#Scaling = 0.2 #[m]
 
+# TODO: dumux-course-task 1.C: comment or delete the group [Freeflow.Grid]
 [Freeflow.Grid]
 Verbosity = true
 Positions0 = 0.0 1.0
@@ -17,6 +19,7 @@ Cells0 = 20
 Cells1 = 100
 Grading1 = 1
 
+# TODO: dumux-course-task 1.C: comment or delete the group [PorousMedium.Grid]
 [PorousMedium.Grid]
 Verbosity = true
 Positions0 = 0.0 1.0
@@ -25,6 +28,10 @@ Cells0 = 20
 Cells1 = 20
 Grading1 = 1
 
+[Problem]
+Name = ex_ff-pm-interface
+EnableGravity = false
+
 [Freeflow.Problem]
 Name = freeflow
 PressureDifference = 1e-9
@@ -39,9 +46,5 @@ Porosity = 0.4
 AlphaBeaversJoseph = 1.0
 Temperature = 283.15
 
-[Problem]
-Name = ex_ff-pm-interface
-EnableGravity = false
-
 [Vtk]
 AddVelocity = 1
diff --git a/exercises/solution/exercise-coupling-ff-pm/interface/params.input b/exercises/solution/exercise-coupling-ff-pm/interface/params.input
index eab4c116545ff15c89fd02e2ea78671d5d31b49a..5ea9190285f803663018235786d3419448a8ee19 100644
--- a/exercises/solution/exercise-coupling-ff-pm/interface/params.input
+++ b/exercises/solution/exercise-coupling-ff-pm/interface/params.input
@@ -25,6 +25,10 @@ Cells0 = 20
 Cells1 = 20
 Grading1 = 1
 
+[Problem]
+Name = ex_ff-pm-interface
+EnableGravity = false
+
 [Freeflow.Problem]
 Name = freeflow
 PressureDifference = 1e-9
@@ -39,9 +43,5 @@ Porosity = 0.4
 AlphaBeaversJoseph = 1.0
 Temperature = 283.15
 
-[Problem]
-Name = ex_ff-pm-interface
-EnableGravity = false
-
 [Vtk]
 AddVelocity = 1