diff --git a/hello_wolf/hello_wolf_autoconf.cpp b/hello_wolf/hello_wolf_autoconf.cpp
index 447d7792ae103525b75ef79d2c43069539ff216d..3b353bde24833278c6972dd1dc68f323e3ebede0 100644
--- a/hello_wolf/hello_wolf_autoconf.cpp
+++ b/hello_wolf/hello_wolf_autoconf.cpp
@@ -103,15 +103,15 @@ int main()
 
     WOLF_TRACE("======== CONFIGURE PROBLEM =======")
 
-    // Config file to parse
+    // Config file to parse. Here is where all the problem is defined:
     std::string file = std::string(_WOLF_ROOT_DIR) + "/hello_wolf/hello_wolf_config.yaml";
 
-    // parse file into params server
+    // parse file into params server: each param will be retrievable from this params server:
     parserYAML parser = parserYAML(file);
     parser.parse();
     paramsServer server = paramsServer(parser.getParams(), parser.sensorsSerialization(), parser.processorsSerialization());
 
-    // Wolf problem
+    // Wolf problem: automatically build the left branch of the wolf tree from the contents of the params server:
     ProblemPtr problem          = Problem::autoSetup(server);
 
     // Print problem to see its status before processing any sensor data
@@ -121,7 +121,7 @@ int main()
     SensorBasePtr sensor_odo    = problem->getSensor("odom");
     SensorBasePtr sensor_rb     = problem->getSensor("rb");
 
-    // Solver
+    // Solver. Configure a Ceres solver
     ceres::Solver::Options options;
     options.max_num_iterations  = 1000; // We depart far from solution, need a lot of iterations
     CeresManagerPtr ceres       = std::make_shared<CeresManager>(problem, options);
@@ -129,6 +129,7 @@ int main()
 
 
     // SELF CALIBRATION ===================================================
+    // These few lines control whether we calibrate some sensor parameters or not.
 
     // NOTE: SELF-CALIBRATION OF SENSOR ORIENTATION
     // Uncomment this line below to achieve sensor self-calibration (of the orientation only, since the position is not observable)
@@ -138,7 +139,7 @@ int main()
     // The position is however not observable, and thus self-calibration would not work. You can try uncommenting it too.
     // sensor_rb->getP()->unfix();
 
-    // CONFIGURE observations ==============================================
+    // CONFIGURE input data (motion and measurements) ==============================================
 
     // Motion data
     Vector2s motion_data(1.0, 0.0);                     // Will advance 1m at each keyframe, will not turn.
@@ -148,7 +149,7 @@ int main()
     VectorXi ids;
     VectorXs ranges, bearings;
 
-    // SET OF EVENTS =======================================================
+    // SET OF EVENTS: make things happen =======================================================
     std::cout << std::endl;
     WOLF_TRACE("======== BUILD PROBLEM =======")