diff --git a/doc/doxygen/modules.txt b/doc/doxygen/modules.txt
index 4a90a1e389ba0f223a34cb9aff19b886037e980f..59598d983a6e9c11cb7ea97e194eb3c76f14722e 100644
--- a/doc/doxygen/modules.txt
+++ b/doc/doxygen/modules.txt
@@ -56,7 +56,67 @@
 
 /* ***************** Material ******************/
 /*!
- * \defgroup Material Material Properties and Laws
+ * \defgroup Material Material and Fluid Framework
+ * Short description of the most important concepts of the material and fluid framework:
+ *
+ *  - _Binary coefficient:_ Binary coefficients describe the relations
+ *  of a mixture of two components. Typical binary coefficients are
+ *  Henry coefficients or binary molecular diffusion
+ *  coefficients. So far, the programming interface for accessing binary
+ *  coefficients has not been standardized in Dumux. 
+ * 
+ *  - _Component:_ Components are fluid systems which provide the
+ *  thermodynamic relations for the liquid and gas phase of a single
+ *  chemical species or a fixed mixture of species. Their main purpose
+ *  is to provide a convenient way to access these quantities from
+ *  full-fledged fluid systems. Components are not supposed to be used
+ *  by models directly.
+ * 
+ *  - _Constraint solver:_ Constraint solvers are auxiliary tools to
+ *  make sure that a fluid state is consistent with some thermodynamic
+ *  constraints. All constraint solvers specify a well defined set of
+ *  input variables and make sure that the resulting fluid state is
+ *  consistent with a given set of thermodynamic equations.
+ * 
+ *  - _Equation of state:_ Equations of state (EOS) are auxiliary
+ *  classes which provide relations between a fluid phase's temperature,
+ *  pressure, composition and density. Since these classes are only used
+ *  internally in fluid systems, their programming interface is
+ *  currently ad-hoc.
+ * 
+ *  - _Fluid state:_ Fluid states are responsible for representing the
+ *  complete thermodynamic configuration of a system at a given spatial
+ *  and temporal position. A fluid state always provides access methods
+ *  to __all__ thermodynamic quantities, but the concept of a fluid state does not
+ *  mandate what assumptions are made to store these thermodynamic
+ *  quantities. What fluid states also do __not__ do is to make sure
+ *  that the thermodynamic state which they represent is physically
+ *  possible.
+ * 
+ *  - _Fluid system:_ Fluid systems express the thermodynamic relations 
+ *  Strictly speaking, these relations are
+ *  functions, mathematically.} between quantities. Since functions do
+ *  not exhibit any internal state, fluid systems are stateless classes,
+ *  i.e. all member functions are static. This is a conscious
+ *  decision since the thermodynamic state of the system is expressed by
+ *  a fluid state!
+ *   
+ *  - _Fluid-Matrix Interactions:_ Some parameters are functions of the fluid state as well as parameters of
+ *  the matrix. For example the capillary pressure is a function of the phase saturation
+ *  and the shape parameter \f$\lambda\f$ which is dependent on the material. All such relations
+ *  are gathered in this module.
+ * 
+ *  - _Parameter cache:_ Fluid systems sometimes require
+ *  computationally expensive parameters for multiple relations. Such
+ *  parameters can be cached using a so-called parameter
+ *  cache. Parameter cache objects are specific for each fluid system
+ *  but they must provide a common interface to update the internal
+ *  parameters depending on the quantities which changed since the last
+ *  update.
+ * 
+ *  - _Spatial Parameters:_ All parameters which depend on the matrix and
+ *   therefore on the position within the model domain are defined as spatial
+ *   parameters. For example permeability, porosity etc.
  */
     /*!
      * \ingroup Material
@@ -72,11 +132,27 @@
          */
     /*!
      * \ingroup Material
-     * \defgroup Fluidsystems Fluid Systems
+     * \defgroup ConstraintSolver Constraint Solver
+     * Constraint solvers connect the thermodynamic relations expressed by
+     * fluid systems with the thermodynamic quantities stored by fluid
+     * states. Using them is not mandatory for models, but given the fact
+     * that some thermodynamic constraints can be quite complex to solve,
+     * sharing this code between models makes sense.
+     */   
+    /*!
+     * \ingroup Material
+     * \defgroup EOS Equation of State
      */
     /*!
      * \ingroup Material
      * \defgroup FluidStates Fluid States
+     * Fluid state objects express the complete thermodynamic state of a system at a given spatial and
+     * temporal position.
+     */
+    /*!
+     * \ingroup Material
+     * \defgroup Fluidsystems Fluid Systems
+     * Fluid systems express the thermodynamic relations between the quantities of a fluid state.
      */
     /*!
      * \ingroup Material
@@ -89,7 +165,21 @@
          /*!
          * \ingroup fluidmatrixinteractions
          *  \defgroup fluidmatrixinteractionsparams Parameters for Fluid-Matrix Interactions
-         */
+         */  
+    /*!
+     * \ingroup Material
+     * \defgroup ParameterCache Parameter Cache
+     * All fluid systems must export a type for their __ParameterCache__
+     * objects. Parameter caches can be used to cache parameter that are
+     * expensive to compute and are required in multiple thermodynamic
+     * relations. For fluid systems which do need to cache parameters,
+     * Dumux provides a __NullParameterCache__ class.
+     * The actual quantities stored by parameter cache objects are specific
+     * to the fluid system and no assumptions on what they provide should be
+     * made outside of their fluid system. Parameter cache objects provide a
+     * well-defined set of methods to make them coherent with a given fluid
+     *state, though.
+     */ 
     /*!
      * \ingroup Material
      * \defgroup SpatialParameters Spatial Parameters
diff --git a/dumux/material/constraintsolvers/compositionalflash.hh b/dumux/material/constraintsolvers/compositionalflash.hh
index 5cf393102ea4cf610b62cf3e50ae618e4e998b14..a7d548b66218bdd09f15594b83bbd809940490e2 100644
--- a/dumux/material/constraintsolvers/compositionalflash.hh
+++ b/dumux/material/constraintsolvers/compositionalflash.hh
@@ -37,6 +37,7 @@
 namespace Dumux
 {
 /*!
+ * \ingroup ConstraintSolver
  * \brief Flash calculation routines for compositional decoupled models
  *
  *        Routines for isothermal and isobaric 2p2c and 1p2c flash.
diff --git a/dumux/material/constraintsolvers/compositionfromfugacities.hh b/dumux/material/constraintsolvers/compositionfromfugacities.hh
index 8c256fafbbabe44ffc865058def2fd4b28a622d8..9fe0c9811dbb93de38523a4ee66b5e8f01f5e61b 100644
--- a/dumux/material/constraintsolvers/compositionfromfugacities.hh
+++ b/dumux/material/constraintsolvers/compositionfromfugacities.hh
@@ -34,6 +34,7 @@
 namespace Dumux {
 
 /*!
+ * \ingroup ConstraintSolver
  * \brief Calculates the chemical equilibrium from the component
  *        fugacities in a phase.
  */
diff --git a/dumux/material/constraintsolvers/compositionfromfugacities2pncmin.hh b/dumux/material/constraintsolvers/compositionfromfugacities2pncmin.hh
index b9567905292e786e6a14f1b779117fac6046f4f9..1d17f538ff432d3ff866ba1ebe6093b8ff6586e6 100644
--- a/dumux/material/constraintsolvers/compositionfromfugacities2pncmin.hh
+++ b/dumux/material/constraintsolvers/compositionfromfugacities2pncmin.hh
@@ -34,6 +34,7 @@
 namespace Dumux {
 
 /*!
+ * \ingroup ConstraintSolver
  * \brief Calculates the chemical equilibrium from the component
  *        fugacities in a phase.
  */
diff --git a/dumux/material/constraintsolvers/computefromreferencephase.hh b/dumux/material/constraintsolvers/computefromreferencephase.hh
index f6b54b68d6ef98ca0cc390f2852bbb54b4e71bb4..2f4430e6b28031e744a670dd32ddff6e5cb03301 100644
--- a/dumux/material/constraintsolvers/computefromreferencephase.hh
+++ b/dumux/material/constraintsolvers/computefromreferencephase.hh
@@ -40,6 +40,7 @@
 namespace Dumux {
 
 /*!
+ * \ingroup ConstraintSolver
  * \brief Computes all quantities of a generic fluid state if a
  *        reference phase has been specified.
  *
diff --git a/dumux/material/constraintsolvers/computefromreferencephase2pnc.hh b/dumux/material/constraintsolvers/computefromreferencephase2pnc.hh
index ad11b5d320ba1d524a314b8fdc01765dd57ef664..52def91eef9e67298fffb3ad84b9c78f267ad81a 100644
--- a/dumux/material/constraintsolvers/computefromreferencephase2pnc.hh
+++ b/dumux/material/constraintsolvers/computefromreferencephase2pnc.hh
@@ -40,6 +40,7 @@
 namespace Dumux {
 
 /*!
+ * \ingroup ConstraintSolver
  * \brief Computes all quantities of a generic fluid state if a
  *        reference phase has been specified.
  *
diff --git a/dumux/material/constraintsolvers/computefromreferencephase2pncmin.hh b/dumux/material/constraintsolvers/computefromreferencephase2pncmin.hh
index ffb6b6de61d1d046e22203148cffc0080887385a..2164109dbd4a226c381fbb20381717ac64a93c7e 100644
--- a/dumux/material/constraintsolvers/computefromreferencephase2pncmin.hh
+++ b/dumux/material/constraintsolvers/computefromreferencephase2pncmin.hh
@@ -40,6 +40,7 @@
 namespace Dumux {
 
 /*!
+ * \ingroup ConstraintSolver
  * \brief Computes all quantities of a generic fluid state if a
  *        reference phase has been specified.
  *
diff --git a/dumux/material/constraintsolvers/fluidsystemcomputefromreferencephase.hh b/dumux/material/constraintsolvers/fluidsystemcomputefromreferencephase.hh
index 599e9bd72b8414c39c01d52daf7bdc7e3d4e6ff7..7b9966219617f861510847dbedf80172419ebbf8 100644
--- a/dumux/material/constraintsolvers/fluidsystemcomputefromreferencephase.hh
+++ b/dumux/material/constraintsolvers/fluidsystemcomputefromreferencephase.hh
@@ -35,6 +35,7 @@
 
 namespace Dumux {
 /*!
+ * \ingroup ConstraintSolver
  * \brief Computes the composition of all phases from a function in the fluidsystem.
  *
  *        This is basically an interface in order to use ConstraintSolver with fluidsystems,
diff --git a/dumux/material/constraintsolvers/fluidsystemconstraintsolver.hh b/dumux/material/constraintsolvers/fluidsystemconstraintsolver.hh
index f516aeff5e670b676e0cd56f3becaf73f9a051b9..52dce277ad8fe91a498780b810daecbea922946a 100644
--- a/dumux/material/constraintsolvers/fluidsystemconstraintsolver.hh
+++ b/dumux/material/constraintsolvers/fluidsystemconstraintsolver.hh
@@ -35,6 +35,7 @@
 
 namespace Dumux {
 /*!
+ * \ingroup ConstraintSolver
  * \brief Computes the composition of all phases from a function in the fluidsystem.
  *
  *        This is basically an interface in order to use ConstraintSolver with fluidsystems,
diff --git a/dumux/material/constraintsolvers/immiscibleflash.hh b/dumux/material/constraintsolvers/immiscibleflash.hh
index d6047f9e893178ef5ef99d0239ca50ab37cd4906..cd42baff8faf28e6ba153b7be45426ec89707cf6 100644
--- a/dumux/material/constraintsolvers/immiscibleflash.hh
+++ b/dumux/material/constraintsolvers/immiscibleflash.hh
@@ -34,6 +34,7 @@
 namespace Dumux {
 
 /*!
+ * \ingroup ConstraintSolver
  * \brief Determines the pressures and saturations of all fluid phases
  *        given the total mass of all components.
  *
diff --git a/dumux/material/constraintsolvers/miscible2pnccomposition.hh b/dumux/material/constraintsolvers/miscible2pnccomposition.hh
index 7a8567068412c1af242d8474e53c3a35b2510b55..fb561f7e042eeb5508a607e56c0190a675dde842 100644
--- a/dumux/material/constraintsolvers/miscible2pnccomposition.hh
+++ b/dumux/material/constraintsolvers/miscible2pnccomposition.hh
@@ -34,6 +34,7 @@
 
 namespace Dumux {
 /*!
+ * \ingroup ConstraintSolver
  * \brief Computes the composition of all phases of a N-phase,
  *        N-component fluid system assuming that all N phases are
  *        present
diff --git a/dumux/material/constraintsolvers/misciblemultiphasecomposition.hh b/dumux/material/constraintsolvers/misciblemultiphasecomposition.hh
index 9a23a0f5a50200fc99f443525e4560e8d49ce8aa..a28c87caa71ab0d43395b39db4957289bfbe561e 100644
--- a/dumux/material/constraintsolvers/misciblemultiphasecomposition.hh
+++ b/dumux/material/constraintsolvers/misciblemultiphasecomposition.hh
@@ -34,6 +34,7 @@
 
 namespace Dumux {
 /*!
+ * \ingroup ConstraintSolver
  * \brief Computes the composition of all phases of a N-phase,
  *        N-component fluid system assuming that all N phases are
  *        present
diff --git a/dumux/material/constraintsolvers/ncpflash.hh b/dumux/material/constraintsolvers/ncpflash.hh
index ae9148d96a5b147176a68e0817243e277de14bbd..c13fd38274f430a2852fe72c4da3311a0f533199 100644
--- a/dumux/material/constraintsolvers/ncpflash.hh
+++ b/dumux/material/constraintsolvers/ncpflash.hh
@@ -34,6 +34,7 @@
 namespace Dumux {
 
 /*!
+ * \ingroup ConstraintSolver
  * \brief Determines the phase compositions, pressures and saturations
  *        given the total mass of all components.
  *
diff --git a/dumux/material/eos/pengrobinson.hh b/dumux/material/eos/pengrobinson.hh
index c45a7be5d297733660fe297c5445100db683dbff..cc4278f932653428a000501dfdfb787493afaaaf 100644
--- a/dumux/material/eos/pengrobinson.hh
+++ b/dumux/material/eos/pengrobinson.hh
@@ -43,6 +43,7 @@ namespace Dumux
 {
 
 /*!
+ * \ingroup EOS
  * \brief Implements the Peng-Robinson equation of state for liquids
  *        and gases.
  *
diff --git a/dumux/material/eos/pengrobinsonmixture.hh b/dumux/material/eos/pengrobinsonmixture.hh
index d327668e7a462bf971c2b96283df0b42ae1a659e..18f98b5b6729899d88e0552d78efd4059c9382c6 100644
--- a/dumux/material/eos/pengrobinsonmixture.hh
+++ b/dumux/material/eos/pengrobinsonmixture.hh
@@ -33,6 +33,7 @@ namespace Dumux
 {
 
 /*!
+ * \ingroup EOS
  * \brief Implements the Peng-Robinson equation of state for a
  *        mixture.
  */
diff --git a/dumux/material/eos/pengrobinsonparams.hh b/dumux/material/eos/pengrobinsonparams.hh
index 203f0215adbe8fe9fd3645a440ca8a2902627125..4b582cf9d6b33b29deeb22d9f1c430e5df7b01a8 100644
--- a/dumux/material/eos/pengrobinsonparams.hh
+++ b/dumux/material/eos/pengrobinsonparams.hh
@@ -34,6 +34,7 @@
 namespace Dumux
 {
 /*!
+ * \ingroup EOS
  * \brief Stores and provides access to the Peng-Robinson parameters
  *
  * See:
diff --git a/dumux/material/eos/pengrobinsonparamsmixture.hh b/dumux/material/eos/pengrobinsonparamsmixture.hh
index e8371b2e7aa86361b0568faed829564c0e27ecf4..6134240f435f0acb4a544987663b8e727e87206b 100644
--- a/dumux/material/eos/pengrobinsonparamsmixture.hh
+++ b/dumux/material/eos/pengrobinsonparamsmixture.hh
@@ -44,6 +44,7 @@ namespace Dumux
 {
 
 /*!
+ * \ingroup EOS
  * \brief The mixing rule for the oil and the gas phases of the SPE5 problem.
  *
  * This problem comprises \f$H_2O\f$, \f$C_1\f$, \f$C_3\f$, \f$C_6\f$,
diff --git a/dumux/material/fluidsystems/parametercachebase.hh b/dumux/material/fluidsystems/parametercachebase.hh
index 4d7018f9934f1f176f012e058598a45feb66a1a9..d4efca8511d34e9d094cea383b8ba0b500fa5ec5 100644
--- a/dumux/material/fluidsystems/parametercachebase.hh
+++ b/dumux/material/fluidsystems/parametercachebase.hh
@@ -27,6 +27,7 @@
 namespace Dumux
 {
 /*!
+ * \ingroup ParameterCache
  * \brief The base class of the parameter cache classes for fluid systems
  */
 template <class Implementation>
diff --git a/dumux/material/fluidsystems/spe5parametercache.hh b/dumux/material/fluidsystems/spe5parametercache.hh
index 16fab91feb1513bea4d5eebddc03cdd4aa645946..92c7a3ce27b6a7173dc31cad4b24e6a54995a68f 100644
--- a/dumux/material/fluidsystems/spe5parametercache.hh
+++ b/dumux/material/fluidsystems/spe5parametercache.hh
@@ -37,6 +37,7 @@ namespace Dumux
 {
 /*!
  * \ingroup Fluidsystems
+ * \ingroup ParameterCache
  * \brief Specifies the parameters required by the SPE5 problem which
  *        are dependend on the thermodynamic state.
  */