diff --git a/CHANGELOG.md b/CHANGELOG.md
index a69cbe1a80ca378233976b51362fe8e3ead8a014..98de7c225d2fc01a4fb72dc3c8c3256fe7a9a012 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,125 +1,136 @@
 Differences Between DuMuX 2.12 and DuMuX 3.0
 =============================================
 
-* __IMPORTANT NOTES:__
-    - DuMuX 3.0 is a major version update. Hence, it is not backward compatible in all aspect to 2.12.
-      The following minor version updated will be, as before for the DuMuX 2-series, always backward compatible
+## Important Notes
+
+- DuMuX 3.0 is a major version update. It is not backward compatible in all aspects to 2.12.
+  The following minor version updates will be, as before for the DuMuX 2-series, always backward compatible
       to at least the last minor version update.
 
-    - DuMuX 3.0 is based on Dune 2.6 and is expected to run with the current Dune master.
-      We will try to keep the compatibility with the Dune master
-      as long as it is technically feasible and our resources allow it.
-
-    - DuMux 3.0 requires at least GCC 4.9 or Clang 3.5 in their C++-14 mode.
-      However, we suggest to use newer compiler versions, as we cannot test against all previous compiler versions.
-
-    - For employing corner-point grids by means of opm-grid, the OPM release 2018.04 has to be used.
-
-* __IMPROVEMENTS and ENHANCEMENTS:__
-    - Support for grid managers dune-subgrid (a meta grid selecting only certain elements from a host grid)
-      and dune-spgrid (a structured parallel grid manager, supporting periodic boundaries)
-    - __New style main files:__ 3.0 comes which a major overhaul of how the sequence of simulation steps is specified.
-      Until 2.12 there was the start.hh header including the free function `start` that contained a predefined sequence of
-      steps. Customization of the sequence was possible by many hooks implemented in classes used in this sequence. This
-      made it hard to follow the course of the program and hard to implement customization at points where this was not previously envisioned.
-      In contrast, in the new approach the sequence of simulation steps was linearized, meaning that each step is visible
-      in the program's main file. In the new main files, one can clearly see the io, initialization, assembly, solving, update, time loop, etc.,
-      of the program. Many parts of the simulation that were previously mandatory, i.e. simulations in 2.12 always contained a time loop,
-      are now optional (instationary simulations just don't need a time loop). The new style main files make it easier two follow the course
-      of the program, easier to customize, and offer more flexibility concerning the customization of steps and components of a simulation.
-      All tests and examples in the dumux repository have been adapted to the new style main files.
-    - __The grid geometry concept:__ In version 3.0, discretization methods use grid geometries which are wrapper or adapters around a `Dune::GridView`,
-      providing data structures and interfaces necessary to implement these discretization methods easily. In particular, the
-      abstraction of sub-control-volumes (scv) and sub-control-volume-faces (scvf) are now separate classes and the grid geometry provides means to iterate
-      over all scvs and scvfs of an element, using range-based-for loops.
-    - __The caching concept:__ Version 3.0 introduces a caching concept for the new grid geometry, the volume variables and the flux variables.
-      There are classes with a `Grid` prefix, that store data for the current grid view, and classes with the `Element` prefix that store data locally
-      for an element or element stencil. Depending on the caching concept used, data will be either stored completely in the `Grid` objects
-      (e.g. `GridGeometry`) and the `Element` object (e.g. `ElementGeometry`) are mere accessor objects, or, data will be partly only cached locally.
-      The local caching uses less memory but might result in a more runtime, the grid caching is memory intensive
-      but can provide a significant run-time speedup. Choose whatever concept fits your available resources.
-    - __MPFA schemes:__ The new design of the DuMux core facilitates the incorporation of new finite-volume schemes. In particular, the new core comes with
-      a framework for MPFA schemes, in which currently the only available scheme is the MPFA-O scheme. It can be used in conjunction with any DuMux model and
-      also works on surface grids. More schemes will be added in the future.
-    - __Interface solver:__ For the two-phase flow model in conjunction with the box scheme, an interface solver can now be used to reconstruct the saturations
-      in the sub-control volumes adjacent to vertices that lie on material discontinuities. This allows a sharper representation of the saturation front evolving
-      in heterogeneous porous media.
-    - __Box-dfm:__ The `2pdfm` model from version 2.12 has been generalized such that it can be used on any DuMux model and in both two and three dimensions.
-    - __MPNC:__ The general m-phase n-component model has been adapted in structure to the other porous medium flow models.
-    - __Tracer transport__: A new model for tracer transport with a given flow field has been added. The model can be also used to implement sequentially
-      coupled simulations, or iterative solvers where flow and transport are decoupled / weakly coupled.
-    - __Mineralization__: An adapter model for mineralization has been added and can be used with all porousmediumflow models. A balance for the solid
-      volume fraction of precipitating, adsorbed, or absorbed substances is added to the existing equations.
-    - __Multidomain:__ DuMux 3.0 introduces a new multidomain framework which does no longer depend on `dune-multidomain` and can be used for the coupling
-      of an arbitrary number of subdomains. The sub-domains can be regions in which a different set of equations are solved and/or which have different
-      dimensionalities. The implementation is such that any of the existing DuMux models can be used in the subdomains, while the data and functionality
-      required for the coupling of the sub-domains is implemented in a `CouplingManger` class. Three different coupling concepts are available, for which
-      there are a number of available `CouplingManager` class implementations:
-      - _Boundary:_ coupling across sub-domain boundaries
-      - _Embedded:_ Coupling between a bulk domain and an embedded lower-dimensional sub-domain which has an independent grid
-      - _Facet:_ Coupling betweeen a bulk domain and a codimension-one sub-domain, which is conforming with the element facets of the bulk domain
-    - __Free-flow models:__ The previous Navier-Stokes model using the box method has been replaced by one that employs a staggered grid discretization.
-      The latter does not  require any stabilization techniques while those were necessary for the box method in order to avoid spurious oscillations.
-      The free-flow models in DuMux 3.0 consider single phase flow with or without component/energy transport. So far, only regular cartesian grids are supported
-      but local grid refinement will be added in a future release.
-      Several RANS models for turbulent flow have been added: k-omega, k-epsilon, low-Re-k-epsilon, one-eq, zero-eq. The RANS models might be subject to further (interface)
-      changes.
-    - __Runtime parameters:__ Runtime parameters are no longer accessed with preprocessor macros. They have been replaced by C++ function templates
-      `Dumux::getParam`, `Dumux::hasParam`, `Dumux::getParamFromGroup`. The `..FromGroup` version has been redesigned to allow the specification
-      of parameters for different models in one input file. The concept of a parameter group string was extended to make it possible to
-      use a single input file for complex multidomain simulation setups.
-    - __Property system:__ The property system is now usable without preprocessor macros. To this end it was completely reimplemented using C++14 techniques and
-      variadic templates. The hierarchies can now be arbitrarily deep instead of being limited to 5 levels. The new implementation does not use
-      C++ inheritance. Properties and TypeTag now have to be properly qualified with the namespaces `Properties::`, `TTag::`. Types that share the
-      name with properties have to properly qualified with the `Dumux::` namespace. This update makes it hopefully more readable
-      and removes the "magic" part from the property system.
-    - __TypeTag templates:__ Implementers of code in DuMuX 3.0 are advised to avoid TypeTag as a template argument for class templates.
-      Many classes in the DuMuX core have been changed to have a small number of specific template arguments, including `GridGeometry`,
-      `TimeLoop`, `Newton`, `LinearSolver`, `SpatialParams`. This makes it possible to share objects of these types between models using
-      different TypeTags. This was not possible before as `Class<TypeTag1>` and `Class<TypeTag2>` are different types, even if they contain
-      exactly the implementation code otherwise.
-      Furthermore, having TypeTag as a template argument leads to bad programming, and unnecessary dependencies that should be avoided in
-      every object-oriented code.
-    - __Restarting simulations:__ The old restart module was replaced by an implementation based on a VTK backend (other formats might be added later such as HDF5).
-      Restarted simulations can read solutions from vtk files. In parallel, there is currently the restriction that the number of processors has be the same
-      as before the restart. Restarted simulations can read grids from vtk (currently only sequential, non-adaptive grids, support for parallel and adaptive
-      will be added in future version).
-    - __Components:__ Components can now derive from different base classes, `Base`, `Liquid`, `Solid`, `Gas`, depending on which
-      phase states are implemented. This can be used to determine at compile time if a component support a certain phase state.
-    - __Solid systems:__ DuMuX 3.0 introduces solid systems similar to fluid systems but for solid components. This allows a consistent
-      implementation of mineralization models including reactions, dissolution, precipitation and other processes altering the solid
-      phase of the porous medium.
-    - __Tabulation of fluid parameter laws:__ The tabulation of fluid parameter laws has been improved to only tabulate those functions actually used during the
-      simulation. To this end, the tabulation is done on the first call of certain fluid parameter.
-    - __Assembly__: The assembler can now assemble implicit and explicit Euler time discretizations. An interface for implementing analytical Jacobians was added.
-      The CCTpfa assembler has been significantly improved for complex models that spend a lot of time computing constitutive laws. Also the numerical
-      differentiation scheme was improved by altering the order in which derivatives are computed.
-    - __Solution-dependent spatial params:__ A redesign of the spatial params interface allows now to define spatial parameters such as permeability
-      and porosity that depend on the solution. This makes it easier to implement mineralization models altering the solid structure of the porous medium.
-    - __Different wettability:__ The 2p models can now model materials with different wettability (hydrophobic, hydrophilic) in different parts of the domain.
-    - __Thermal and chemical non-equilibrium:__ The possibility to consider thermal and/or chemical non-equilibrium of several types has been enabled for all
-      porous medium models.
-    - __Maxwell-Stefan-diffusion:__ Most models can now use Maxwell-Stefan diffusion for multi-component diffusion instead of Fickian diffusion.
-      There is also a few tests demonstrating how to use it.
-
-* __IMMEDIATE INTERFACE CHANGES not allowing/requiring a deprecation period:__
-    - Many classes have been completely redesigned. See the numerous example applications included in 3.0 showcasing all new classes.
-    - The `GridCreator` has been replaced by the `GridManager`, which no longer uses a singleton for the grid object.
-      This makes it possible to create two grids of the exact same type. The `GridManager` also handles user data provided in grid files.
-
-* __Deprecated CLASSES/FILES, to be removed after 3.0:__
-    - All classes of the sequential models are deprecated. The sequential models will be ported to the new structure
-      of porous medium models (formerly called implicit models). This way sequential and implicit model implementations
-      no longer differ and use the same numerical infrastructure.
-    - The `TimeManager` class is to be replaced by the class `TimeLoop`.
-    - The `VtkMultiWriter` class is to be replaced by the class `VtkOutputModule`.
-    - The file `start.hh` is replaced by new style main files.
-
-* __Deprecated MEMBER FUNCTIONS, to be removed after 3.0:__
-
-* __DELETED classes/files, property names, constants/enums,
-  member functions, which have been deprecated in DuMuX 2.12:__
-  - Everything listed as deprecated below has been removed.
+- The tutorial has been replaced by the new module `dumux-course` which is
+  accessible at https://git.iws.uni-stuttgart.de/dumux-repositories/dumux-course.
+  We recommend new users and also users experienced with DuMuX 2.X to clone
+  the course and have a look at the exercises in there.
+
+- DuMuX 3.0 is based on Dune 2.6 and is expected to run with the current Dune master.
+  We will try to keep the compatibility with the Dune master
+  as long as it is technically feasible and our resources allow it.
+
+- DuMuX 3.0 requires at least GCC 4.9 or Clang 3.5 in their C++-14 mode.
+  However, we suggest to use newer compiler versions, as we cannot test against all previous compiler versions.
+
+- For employing corner-point grids by means of opm-grid, the OPM release 2018.10 has to be used.
+
+## Improvements and Enhancements
+
+### General
+
+- __New style main files:__ 3.0 comes which a major overhaul of how the sequence of simulation steps is specified.
+  Until 2.12 there was the start.hh header including the free function `start` that contained a predefined sequence of
+  steps. Customization of the sequence was possible by many hooks implemented in classes used in this sequence. This
+  made it hard to follow the course of the program and hard to implement customization at points where this was not previously envisioned.
+  In contrast, in the new approach the sequence of simulation steps was linearized, meaning that each step is visible
+  in the program's main file. In the new main files, one can clearly see the io, initialization, assembly, solving, update, time loop, etc.,
+  of the program. Many parts of the simulation that were previously mandatory, i.e. simulations in 2.12 always contained a time loop,
+  are now optional (stationary simulations just don't need a time loop). The new style main files make it easier two follow the course
+  of the program, are easier to customize, and offer more flexibility concerning the customization of steps and components of a simulation.
+  All tests and examples in the dumux repository have been adapted to the new style main files.
+- __Property system:__ The property system is now usable without preprocessor macros. To this end it was completely reimplemented using C++14 techniques and
+  variadic templates. The hierarchies can now be arbitrarily deep instead of being limited to 5 levels. The new implementation does not use
+  C++ inheritance. Properties and TypeTag now have to be properly qualified with the namespaces `Properties::`, `TTag::`. Types that share the
+  name with properties have to properly qualified with the `Dumux::` namespace. This update makes it hopefully more readable
+  and removes the "magic" part from the property system.
+- __Runtime parameters:__ Runtime parameters are no longer accessed with preprocessor macros. They have been replaced by C++ function templates
+  `Dumux::getParam`, `Dumux::hasParam`, `Dumux::getParamFromGroup`. The `..FromGroup` version has been redesigned to allow the specification
+  of parameters for different models in one input file. The concept of a parameter group string was extended to make it possible to
+  use a single input file for complex multidomain simulation setups.
+- __Restarting simulations:__ The old restart module was replaced by an implementation based on a VTK backend (other formats might be added later such as HDF5).
+  Restarted simulations can read solutions from vtk files. For parallel runs, there is currently the restriction that the number of processors has to be the same
+  as before the restart. Restarted simulations can read grids from vtk (currently only sequential, non-adaptive grids, support for parallel and adaptive
+  will be added in a future version).
+- __Assembly__: The assembler can now assemble implicit and explicit Euler time discretizations. An interface for implementing analytical Jacobians was added.
+  The CCTpfa assembler has been significantly improved for complex models that spend a lot of time computing constitutive laws. Also the numerical
+  differentiation scheme was improved by altering the order in which derivatives are computed.
+- __TypeTag templates:__ Implementers of code in DuMuX 3.0 are advised to avoid TypeTag as a template argument for class templates.
+  Many classes in the DuMuX core have been changed to have a small number of specific template arguments, including `GridGeometry`,
+  `TimeLoop`, `Newton`, `LinearSolver`, `SpatialParams`. This makes it possible to share objects of these types between models using
+  different TypeTags. This was not possible before as `Class<TypeTag1>` and `Class<TypeTag2>` are different types, even if they contain
+  exactly the same implementation code.
+  Furthermore, having TypeTag as a template argument leads to bad programming, and unnecessary dependencies that should be avoided in
+  every object-oriented code.
+- __The grid geometry concept:__ In version 3.0, discretization methods use grid geometries which are wrappers or adapters around a `Dune::GridView`,
+  providing data structures and interfaces necessary to implement these discretization methods easily. In particular, the
+  abstraction of sub-control-volumes (scv) and sub-control-volume-faces (scvf) are now separate classes and the grid geometry provides means to iterate
+  over all scvs and scvfs of an element, using range-based-for loops.
+- __The caching concept:__ Version 3.0 introduces a caching concept for the new grid geometry, the volume variables and the flux variables.
+  There are classes with a `Grid` prefix, that store data for the current grid view, and classes with the `Element` prefix that store data locally
+  for an element or element stencil. Depending on the caching concept used, data will be either stored completely in the `Grid` objects
+  (e.g. `GridGeometry`) and the `Element` objects (e.g. `ElementGeometry`) are mere accessor objects, or, data will be partly only cached locally.
+  Local caching uses less memory but might result in an increased runtime. Grid caching is memory intensive
+  but can provide a significant run-time speedup. Choose whatever concept fits your available resources,
+  the default being local caching.
+- __Support__ for grid managers `dune-subgrid` (a meta grid selecting only certain elements from a host grid)
+  and `dune-spgrid` (a structured parallel grid manager, supporting periodic boundaries).
+
+### Models, Physics and Methods
+
+- __MPFA schemes:__ The new design of the DuMuX core facilitates the incorporation of new finite-volume schemes. In particular, the new core comes with
+  a framework for MPFA schemes, in which currently the only available scheme is the MPFA-O scheme. It can be used in conjunction with any DuMuX model and
+  also works on surface grids. More schemes will be added in the future.
+- __Box-dfm:__ The `2pdfm` model from version 2.12 has been generalized such that it can be used on any DuMuX model and in both two and three dimensions.
+- __Tracer transport__: A new model for tracer transport with a given flow field has been added. The model can be also used to implement sequentially
+  coupled simulations, or iterative solvers where flow and transport are decoupled / weakly coupled.
+- __Mineralization__: An adapter model for mineralization has been added and can be used with all porousmediumflow models. A balance for the solid
+  volume fraction of precipitating, adsorbed, or absorbed substances is added to the existing equations.
+- __Solution-dependent spatial params:__ A redesign of the spatial params interface allows now to define spatial parameters such as permeability
+  and porosity that depend on the solution. This makes it easier to implement mineralization models altering the solid structure of the porous medium.
+- __Solid systems:__ DuMuX 3.0 introduces solid systems similar to fluid systems but for solid components. This allows a consistent
+  implementation of mineralization models including reactions, dissolution, precipitation and other processes altering the solid
+  phase of the porous medium.
+- __Multidomain:__ DuMuX 3.0 introduces a new multidomain framework which does no longer depend on `dune-multidomain` and can be used for the coupling
+  of an arbitrary number of subdomains. The sub-domains can be regions in which different sets of equations are solved and/or which have different
+  dimensionalities. The implementation is such that any of the existing DuMuX models can be used in the subdomains, while the data and functionality
+  required for the coupling of the sub-domains is implemented in a `CouplingManger` class. Three different coupling concepts are available, for which
+  there are a number of available `CouplingManager` class implementations:
+    - _Boundary:_ coupling across sub-domain boundaries
+    - _Embedded:_ Coupling between a bulk domain and an embedded lower-dimensional sub-domain which has an independent grid
+    - _Facet:_ Coupling betweeen a bulk domain and a codimension-one sub-domain, which is conforming with the element facets of the bulk domain
+- __Free-flow models:__ The previous Navier-Stokes model using the box method has been replaced by one that employs a staggered grid discretization.
+  The new method does not  require any stabilization techniques while those were necessary for the box method in order to avoid spurious oscillations.
+  The free-flow models in DuMuX 3.0 consider single phase flow with or without component/energy transport. So far, only regular Cartesian grids are supported
+  but local grid refinement will be added in a future release.
+  Several RANS models for turbulent flow have been added: k-omega, k-epsilon, low-Re-k-epsilon, one-eq, zero-eq. The RANS models might be subject to further (interface)
+  changes.
+- __Thermal and chemical non-equilibrium:__ The possibility to consider thermal and/or chemical non-equilibrium of several types has been enabled for all
+  porous medium models.
+- __Interface solver:__ For the two-phase flow model in conjunction with the box scheme, an interface solver can now be used to reconstruct the saturations
+  in the sub-control volumes adjacent to vertices that lie on material discontinuities. This allows a sharper representation of the saturation front evolving
+  in heterogeneous porous media.
+- __Components:__ Components can now derive from different base classes, `Base`, `Liquid`, `Solid`, `Gas`, depending on which
+  phase states are implemented. This can be used to determine at compile time if a component supports a certain phase state.
+- __Tabulation of fluid parameter laws:__ The tabulation of fluid parameter laws has been improved to only tabulate those functions actually used during the
+  simulation. To this end, the tabulation is done on the first call of a corresponding fluid parameter.
+- __MPNC:__ The general m-phase n-component model has been adapted in structure to the other porous medium flow models.
+- __Different wettability:__ The 2p models can now model materials with different wettability (hydrophobic, hydrophilic) in different parts of the domain.
+- __Maxwell-Stefan-diffusion:__ Most models can now use Maxwell-Stefan diffusion for multi-component diffusion instead of Fickian diffusion.
+  There are also a few tests demonstrating how to use it.
+
+## Immediate interface changes not allowing/requiring a deprecation period
+
+- Many classes have been completely redesigned. See the numerous example applications included in 3.0 showcasing all new classes.
+- The `GridCreator` has been replaced by the `GridManager`, which no longer uses a singleton for the grid object.
+  This makes it possible to create two grids of the exact same type. The `GridManager` also handles user data provided in grid files.
+
+## Deprecated classes/files, to be removed after 3.0
+- All classes of the sequential models are deprecated. The sequential models will be ported to the new structure
+  of porous medium models (formerly called implicit models). This way sequential and implicit model implementations
+  no longer differ and use the same numerical infrastructure.
+- The `TimeManager` class is to be replaced by the class `TimeLoop`.
+- The `VtkMultiWriter` class is to be replaced by the class `VtkOutputModule`.
+- The file `start.hh` is replaced by new style main files.
+
+## Deleted classes/files/functions... which have been deprecated in DuMuX 2.12
+- Everything listed as deprecated below has been removed.
 
 
 Differences Between DuMuX 2.11 and DuMuX 2.12
@@ -134,7 +145,7 @@ Differences Between DuMuX 2.11 and DuMuX 2.12
       [test/multidomain/README](test/multidomain/README) for details.
       Also the geomechanics models require Dune 2.4 and PDELab 2.0.
 
-    - DuMux 2.12 requires at least GCC 4.9 or Clang 3.5 in their C++-14 mode.
+    - DuMuX 2.12 requires at least GCC 4.9 or Clang 3.5 in their C++-14 mode.
 
     - For employing corner-point grids by means of opm-grid (former
       dune-cornerpoint), the OPM releases 2017.04 or 2017.10 have to be used.
@@ -183,7 +194,7 @@ Differences Between DuMuX 2.10 and DuMuX 2.11
       Dune 2.4 core and specific versions of other modules, see
       `test/multidomain/README` for details.
 
-    - DuMux 2.11 requires at least GCC 4.9 or Clang 3.5 in their C++-14 mode.
+    - DuMuX 2.11 requires at least GCC 4.9 or Clang 3.5 in their C++-14 mode.
 
     - For employing corner-point grids by means of opm-grid (former
       dune-cornerpoint), the OPM release 2016.04 has to be used.
@@ -234,7 +245,7 @@ Differences Between DuMuX 2.9 and DuMuX 2.10
       Dune 2.4 core and specific versions of other modules, see
       `test/multidomain/README` for details.
 
-    - DuMux 2.10 requires at least GCC 4.9 or Clang 3.5 in their C++-14 mode.
+    - DuMuX 2.10 requires at least GCC 4.9 or Clang 3.5 in their C++-14 mode.
 
     - For employing corner-point grids by means of opm-grid (former
       dune-cornerpoint), the OPM release 2016.04 has to be used.