diff --git a/doc/doxygen/DoxygenDumuxLayout.xml b/doc/doxygen/DoxygenDumuxLayout.xml
index f11257461a58d5213430671e7727e11d4d3f7efb..43e9485f2031b64d55307310648db1014971a055 100644
--- a/doc/doxygen/DoxygenDumuxLayout.xml
+++ b/doc/doxygen/DoxygenDumuxLayout.xml
@@ -19,10 +19,10 @@ SPDX-License-Identifier: GPL-3.0-or-later
     <tab type="user" url="@ref external-libraries" visible="yes" title="External libraries" intro=""/>
     <tab type="user" url="@ref examples-and-tutorials" visible="yes" title="Examples and tutorials" intro=""/>
     <tab type="usergroup" url="@ref usage-documentation" visible="yes" title="Usage documentation" >
-      <tab type="user" url="@ref runtime-parameters" visible="yes" title="Runtime Parameters" intro=""/>
+      <tab type="user" url="@ref runtime-parameters" visible="yes" title="Runtime parameters" intro=""/>
       <tab type="user" url="@ref running-in-parallel" visible="yes" title="Running in parallel" intro=""/>
       <tab type="user" url="@ref input-and-output-formats" visible="yes" title="Input and output formats" intro=""/>
-      <tab type="user" url="@ref directory-structure" visible="yes" title="Where to find things" intro=""/>
+      <tab type="user" url="@ref directory-structure" visible="yes" title="Directory structure" intro=""/>
     </tab>
     <tab type="modules" visible="yes" title="Module documentation" intro=""/>
     <tab type="user" url="@ref flow-and-transport-in-porous-media" visible="yes" title="Flow and transport in porous media" intro=""/>
diff --git a/doc/doxygen/Doxylocal b/doc/doxygen/Doxylocal
index edc7100aa000c80a1798ae95a1f7561f7818f113..c7e8799820e7dc732c431a92e26643524b81e79f 100644
--- a/doc/doxygen/Doxylocal
+++ b/doc/doxygen/Doxylocal
@@ -22,6 +22,7 @@ TOC_INCLUDE_HEADINGS   = 4
 
 # custom doxygen commands
 ALIASES                += mermaid{1}="@htmlonly <div class=\"mermaid\"> @endhtmlonly @htmlinclude \"\1.mmd\" @htmlonly </div> @endhtmlonly"
+ALIASES                += refdir{1}="@ref @top_srcdir@/\1"
 
 # Input filters run over content before it is parsed by Doxygen.
 # - Format markdown math for Doxygen. See the documentation in
diff --git a/doc/doxygen/groups/usage.md b/doc/doxygen/groups/usage.md
index 74e4e646556f9c43a6dc8bb6257c7097d2b16e24..c60b42d3ee4096c281095ade3c04f9078d131be6 100644
--- a/doc/doxygen/groups/usage.md
+++ b/doc/doxygen/groups/usage.md
@@ -9,3 +9,4 @@ DuMux programs in parallel.
 * @ref runtime-parameters
 * @ref running-in-parallel
 * @ref input-and-output-formats
+* @ref directory-structure
diff --git a/doc/doxygen/images/dumux_structure.mmd b/doc/doxygen/images/dumux_structure.mmd
deleted file mode 100644
index c654993b63a82927ef4ddfce8e34b48e377bc6df..0000000000000000000000000000000000000000
--- a/doc/doxygen/images/dumux_structure.mmd
+++ /dev/null
@@ -1,47 +0,0 @@
-flowchart LR
-    dumux[dumux]
-    dumux --- adaptive(adaptive) ---- adaptivedescr{{"Data transfer on new grid adapation indicators."}}
-    dumux --- assemply(assembly) ---- assemblydescr{{"Matrix assembler and residual for all discretization methods."}}
-    dumux --- common(common) ---- commondescr{{"Common files of all models:
-                                        definition of boundary conditions,
-                                        time stepping, splines,
-                                        dimensionless numbers..."}}
-        common --- properties([properties]) --- propertiesdescr{{"Base properties for all models."}}
-        common --- typetraits([typetraits]) --- typetraitsdescr{{"Helper classes to query type information on compile time."}}
-    dumux --- discretization(discretization) ---- discretizationdescr{{"Common methods of all discretizations (box, cell-centered TPFA/MPFA, staggered grid):
-                                                                 varible caching, advective and diffusive fluxes..."}}
-    dumux --- experimental(experimental) ---- experimentaldesc{{"Collection of experimental features."}}
-    dumux --- flux(flux) ---- fluxdescr{{"Collection of classes used to calculate advective and diffusive fluxes."}}
-    dumux --- freeflow(freeflow) --- freeflowmodels([models]) --- freeflowdescr{{"Single-phase free flow models using Navier-Stokes
-                                                                         and eddy viscosity bases Reynolds-averaged
-                                                                         Navier-Stokes turbulence models and shallow water equation model."}}
-    dumux --- geomechanics(geomechanics) --- geomechanicsmodels([models]) --- geomechanicsdescr{{"Elastic and poro-elastic models."}}
-    dumux --- geometry(geometry) ---- geometrydescr{{"Geometrical algorithms."}}
-    dumux --- io(io) ---- iodescr{{"Additional in-/output possibilites like reastart files,
-                                gnuplot-interface, VTK-writer extensions and files for grid generations."}}
-    dumux --- linear(linear) ---- lineardescr{{"Linear solver backend."}}
-    dumux --- material(material) --- binarycoefficients([binarycoefficents]) --- binarycoefficentsdescr{{"Binary coefficients (like binary diffusion coefficients) and 
-                                                                                                            those needed for the constitutive relationships (e.g. Henry coefficient)."}}
-        material --- chemistry([chemistry]) --- chemistrydescr{{"Files needed to account for, e.g. electro-chemical processes as in a fuel cell."}}
-        material --- components([components]) --- componentsdescr{{"Properties of a pure chemical substance (e.g. water) or pseudo substance (e.g. air.)"}}
-        material --- constraintsolvers([constraintsolvers]) --- constrainsolversdescr{{"Constraint solvers to make sure
-                                                                                        that the resulting fluid state is consistent with a given set of thermodynamic equations."}}
-        material --- eos([eos]) --- eosdescr{{"Equations of state (eos) are auxiliary classes which provide relations between a
-                                        fluid phase’s temperature, pressure, composition and density."}}
-        material --- fluidmatrixinteractions([fluidmatrixinteractions]) --- fluidmatrixinteractionsdescr{{"Constitutive relationships (e.g. capillary pressures, relative permeabilities)."}}
-        material --- fluidstates([fluidstates]) --- fluidstatesdescr{{"Fluid states are responsible for caching the thermodynamic configuration of a
-                                                                fluid system at a given spatial and temporal position."}}
-        material --- fluidsystems([fluidsystems]) --- fluidsystemsdescr{{"Fluid systems express the thermodynamic relations between quantities."}}
-        material --- solidstates([solidstates]) --- solidstatesdescr{{"Solid states are responsible for caching the thermodynamic configuration of a
-                                                                    solid system at a given spatial and temporal position."}}
-        material --- solidsytems([solidsystems]) --- solidsystemsdescr{{"Solid systems express the thermodynamic properties of a solid."}}
-    dumux --- multidomain(multidomain) ---- multidomaindescr{{"Common infrastructure to couple multiple domains, models or physics."}}
-        multidomain --- embedded([embedded]) --- embeddeddescr{{"Embedding a lower-dimensional model into a higher-dimensional one."}}
-        multidomain --- facet([facet]) --- facetdescr{{"Mixed-dimensional coupling at facets."}}
-        multidomain --- boundary([boundary]) --- boundarydescr{{"Coupling at the domain boundaries."}}
-    dumux --- nonlinear(nonlinear) ---- nonlineardescr{{"Newton’s method."}}
-    dumux --- parallel(parllel) ---- paralleldescr{{"Helper files for parallel simulations."}}
-    dumux --- porenetwork(porenetwork) --- porenetworkmodels([models]) --- porenetworkdescr{{"Specific definition for porenetwork models."}}
-    dumux --- porousmediumflow(porousmediumflow) --- porousmediumflowmodels([models]) --- porousmediumflowdescr{{"Specific definition for porous medium flow simulations for all models: imple-
-                                                                                                                    mentation of equations, model specific properties and indices."}}
-    dumux --- pyton(python) ---- pythondescr{{"The DuMux Python interface package."}}
\ No newline at end of file
diff --git a/doc/doxygen/pages/directory-structure.md b/doc/doxygen/pages/directory-structure.md
index d0c97cdf3d145fc514acb0e367fef5a20a2559be..b6660dcacf1a0ac0bdc8c99e45b04c6665982d78 100644
--- a/doc/doxygen/pages/directory-structure.md
+++ b/doc/doxygen/pages/directory-structure.md
@@ -1,12 +1,33 @@
 # Directory Structure
 
+## Top Level
+
 DuMux has the following folder structure, which is similar to other DUNE modules.
 
 * `bin`: binaries, e.g. used for the automatic testing, post-processing, installation
 * `cmake`: the configuration options for building DuMux
-* `doc`: files necessary for the Doxygen documentation and various logos
-* `dumux`: the main folder, containing the source files. See below for a visualized structure.
+* @refdir{doc} "doc": files necessary for the Doxygen documentation and various logos
+* @refdir{dumux} "dumux": the main folder, containing the source files. See below for more details.
 * `examples`: well-documented examples of applying DuMux to typical physical problems. In the `README.md` files, the setup is explained, the used code is presented as well as documented and images resulting from the simulation are included. The `README.md` files are located directly in the subfolders of `examples` and can be displayed by web browsers.
-* `test`: tests for each numerical model and some functionality.The structure is equivalent to the `dumux` folder, the `references` folder contains solutions for the automatic testing. Each test program consist of a main file `main.cc`, the problem definition `*problem.hh` (specifying initial and boundary conditions), and an input file `params.input`. If necessary, spatially dependent parameters are defined in `*spatialparameters.hh`. For more detailed descriptions of the tests, please have a look at the [examples](https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/tree/master/examples#open_file_folder-example-1-diffusion-equation).
+* `test`: tests for each numerical model and some functionality.The structure is equivalent to the `dumux` folder, the `references` folder contains solutions for the automatic testing. Each test program consists of a main file `main.cc`, the problem definition `*problem.hh` (specifying initial and boundary conditions), and an input file `params.input`. If necessary, spatially dependent parameters are defined in `*spatialparameters.hh`. For more detailed descriptions of the tests, please have a look at the [examples](https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/tree/master/examples#open_file_folder-example-1-diffusion-equation).
+
+## The Folder dumux
 
-@mermaid{"./images/dumux_structure.mmd}
\ No newline at end of file
+* @refdir{dumux/adaptive} "adaptive": Data transfer between grid views, adaptation indicators.
+* @refdir{dumux/assembly} "assembly": Matrix assembler and residual calculation for all discretization methods.
+* @refdir{dumux/common} "common": Property system, base classes, boundary conditions, time stepping, splines, dimensionless numbers, type traits, ...
+* @refdir{dumux/discretization} "discretization": Infrastructure for discretizations (box, cell-centered, staggered, ...).
+* @refdir{dumux/experimental} "experimental": New features, may undergo disruptive changes.
+* @refdir{dumux/flux} "flux": Calculation of advective and diffusive fluxes for different discretization schemes.
+* @refdir{dumux/freeflow} "freeflow": Single-phase free flow models using Navier-Stokes and eddy-viscosity based Reynolds-averaged Navier-Stokes turbulence models, and shallow water equation model.
+* @refdir{dumux/geomechanics} "geomechanics": Elastic and poro-elastic geomechanics models.
+* @refdir{dumux/geometry} "geometry": Bounding boxes, intersections, distances, ...
+* @refdir{dumux/io} "io": In-/output functionalities such as restart files, gnuplot interface, VTKWriter extensions and grid managers.
+* @refdir{dumux/linear} "linear": Linear solver backends.
+* @refdir{dumux/material} "material": Constitutive relations and their parameters, definition of components and fluid/solid phases.
+* @refdir{dumux/multidomain} "multidomain": Common infrastructure to couple multiple domains of possibly different physics, dimensions and/or locations.
+* @refdir{dumux/nonlinear} "nonlinear": Newton's method.
+* @refdir{dumux/parallel} "parallel": Helper files for parallel simulations.
+* @refdir{dumux/porenetwork} "porenetwork": Models describing a porous medium as a set of pore bodies interconnected by pore throats.
+* @refdir{dumux/porousmediumflow} "porousmediumflow": Models for describing flow and mass/momentum/energy transport in a porous medium on the Darcy scale.
+* @refdir{dumux/python} "python": Definition of Python bindings for C++ functionalities.