diff --git a/cpp/kspace.cpp b/cpp/kspace.cpp
index 86d692a25c099ab5d97dd0fd5b247533815e61b6..213fbcbb48e229c4217a1c61d109121ae47e843c 100644
--- a/cpp/kspace.cpp
+++ b/cpp/kspace.cpp
@@ -286,8 +286,8 @@ void kspace<be, dt>::ball_filter(
  *  Filter's  Fourier space expression:
  *  \f[
  *       \hat{\phi^M_\ell}(k) =
- *       \exp(-\frac{(3.54 k \ell)^(122*(\ell)^(0.0836))}{2}) 
- *       \left( 1 + \frac{(k \eta/0.0636)^3.44}{1 + (k \eta/ 0.0621)^3.44} \right)^{1/2}
+ *       \exp(-\frac{(3.54 k \ell)^{122 \ell^{0.0836}}}{2})
+ *       \left( 1 + \frac{(k \eta/0.0636)^{3.44}}{1 + (k \eta/ 0.0621)^{3.44}} \right)^{1/2}
  *  \f]
  */
 template <field_backend be,
diff --git a/documentation/chapters/cpp_doxygen.rst b/documentation/chapters/cpp_doxygen.rst
index 8e01acdfc771afbcada0fd2ba67bd46287ed789c..1e4246a162083d4508f590d7370d2d29028cd598 100644
--- a/documentation/chapters/cpp_doxygen.rst
+++ b/documentation/chapters/cpp_doxygen.rst
@@ -2,6 +2,22 @@
 CPP
 ---
 
+.. doxygenclass:: kspace
+    :project: TurTLE
+    :members:
+
+.. doxygenclass:: field
+    :project: TurTLE
+    :members:
+
+.. doxygenclass:: code_base
+    :project: TurTLE
+    :members:
+
 .. doxygenclass:: direct_numerical_simulation
     :project: TurTLE
     :members:
+
+.. doxygenclass:: NSVE
+    :project: TurTLE
+    :members:
diff --git a/documentation/chapters/overview.rst b/documentation/chapters/overview.rst
index 58af5653cab860961c71d057d92a21c9b99e6ddc..2ed997037f07026be50ee2976781c5eb7f861f92 100644
--- a/documentation/chapters/overview.rst
+++ b/documentation/chapters/overview.rst
@@ -254,14 +254,14 @@ In brief the following takes place:
        NavierStokes`` command.
     2. reasonable DNS parameters are constructed from the command line
        arguments.
-    4. ``c`` generates a parameter file ``<simname>.h5``, into which the
+    3. ``c`` generates a parameter file ``<simname>.h5``, into which the
        various parameters are written.
        ``c`` also generates the various datasets that the backend code
        will write into (statistics and other stuff).
-    3. ``c`` writes a C++ file that is compiled and linked against
+    4. ``c`` writes a C++ file that is compiled and linked against
        ``libbfps``.
-    4. ``c`` executes the C++ code using ``mpirun``.
-    5. the C++ code actually performs the DNS, and outputs various
+    5. ``c`` executes the C++ code using ``mpirun``.
+    6. the C++ code actually performs the DNS, and outputs various
        results into the ``<simname>.h5`` file.
 
 After the simulation is done, things are simpler.
diff --git a/documentation/conf.py b/documentation/conf.py
index 04e8757fd9b546d3758829f0e64f9a3b763b36c5..e37f8e523e2039897c993372686bc0c15ef0ccdf 100644
--- a/documentation/conf.py
+++ b/documentation/conf.py
@@ -22,7 +22,7 @@ import os
 sys.path.insert(0, os.path.abspath('..'))
 
 breathe_projects = {
-        'C++ library' : os.path.abspath('../build/xml/'),
+        'TurTLE' : os.path.abspath('../build/xml/'),
         }
 
 # -- General configuration ------------------------------------------------