diff --git a/doc/Doxyfile.extra.in b/doc/Doxyfile.extra.in
index 7a322b67fac91eea6d4d175f147a6e33ae41f0d3..5d0ee659857b48b4bd5646538af774441e91e29b 100644
--- a/doc/Doxyfile.extra.in
+++ b/doc/Doxyfile.extra.in
@@ -1,6 +1,7 @@
 INPUT     = @CMAKE_SOURCE_DIR@/doc \
             @CMAKE_SOURCE_DIR@/include \
-            @CMAKE_BINARY_DIR@/doc
+            @CMAKE_BINARY_DIR@/doc \
+            @CMAKE_BINARY_DIR@/src/steering-method/cross-state-optimization
 
 HTML_EXTRA_FILES = @CMAKE_SOURCE_DIR@/doc/ObjectManipulation_MasterThesis_JosephMirabel.pdf
 
diff --git a/src/steering-method/cross-state-optimization/function.cc b/src/steering-method/cross-state-optimization/function.cc
index a536f0e1db50ac42af581291d1c08d791ba389ae..40ea94060c8664823610aed61a1cf7b7f77eb6e0 100644
--- a/src/steering-method/cross-state-optimization/function.cc
+++ b/src/steering-method/cross-state-optimization/function.cc
@@ -31,6 +31,8 @@ namespace hpp {
         }
       }
 
+      /// Apply the constraint on a subspace of the input space:
+      /// i.e.: \f$ f (q_0, ... , q_n) = f_{inner} (q_k) \f$
       class HPP_MANIPULATION_LOCAL StateFunction :
         public constraints::DifferentiableFunction
       {
@@ -74,6 +76,8 @@ namespace hpp {
           const segment_t sa_, sd_;
       }; // class Function
 
+      /// \f$ q_{out} = q_{in} \f$
+      /// \todo Make this derive from constraints::AffineFunction
       class HPP_MANIPULATION_LOCAL Identity :
         public constraints::DifferentiableFunction
       {
@@ -95,6 +99,8 @@ namespace hpp {
           }
       }; // class Function
 
+      /// Compute the difference between the value of the function in two points.
+      /// i.e.: \f$ f (q_0, ... , q_n) = f_{inner} (q_{left}) - f_{inner} (q_{right}) \f$
       class HPP_MANIPULATION_LOCAL EdgeFunction :
         public constraints::DifferentiableFunction
       {