diff --git a/CMakeLists.txt b/CMakeLists.txt
index 08890714ecbf3cca53e53e9c55ee203310bbc18f..6e84d54740a220bd58f3db13a9e2c32f9ac935fc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -48,8 +48,18 @@ if(UNIX)
 endif(UNIX)
 
 
-#OPTION(BUILD_DOC "Build Documentation" OFF)
-OPTION(BUILD_TESTS "Build Unit tests" ON)
+IF(NOT BUILD_TESTS)
+  OPTION(BUILD_TESTS "Build Unit tests" ON)
+ENDIF(NOT BUILD_TESTS)
+
+IF(NOT BUILD_DEMOS)
+  OPTION(BUILD_DEMOS "Build Demos" OFF)
+ENDIF(NOT BUILD_DEMOS)
+
+IF(NOT BUILD_DOC)
+  OPTION(BUILD_DOC "Build Documentation" OFF)
+ENDIF(NOT BUILD_DOC)
+
 #############
 ## Testing ##
 #############
@@ -78,9 +88,6 @@ ENDIF()
 
 option(_WOLF_TRACE "Enable wolf tracing macro" ON)
 
-# option(BUILD_EXAMPLES "Build examples" OFF)
-set(BUILD_TESTS true)
-
 # Does this has any other interest
 # but for the examples ?
 # yes, for the tests !
diff --git a/include/vision/processor/processor_params_image.h b/include/vision/processor/processor_params_image.h
index 7497e1c4151ee1021917c710463217e857463f32..47f82cfb9f4481e962859de1995732c8c16352ff 100644
--- a/include/vision/processor/processor_params_image.h
+++ b/include/vision/processor/processor_params_image.h
@@ -30,6 +30,15 @@ struct ProcessorParamsTrackerFeatureImage : public ProcessorParamsTrackerFeature
         pixel_noise_std = _server.getParam<Scalar>(_unique_name + "/pixel_noise_std");
         pixel_noise_var = _server.getParam<Scalar>(_unique_name + "/pixel_noise_var");
     }
+    std::string print()
+    {
+        return "\n" + ProcessorParamsTrackerFeature::print()
+            + "yaml_file_params_vision_utils: " + yaml_file_params_vision_utils + "\n"
+            + "min_response_for_new_features: " + std::to_string(min_response_for_new_features) + "\n"
+            + "distance: " + std::to_string(distance) + "\n"
+            + "pixel_noise_std: " + std::to_string(pixel_noise_std) + "\n"
+            + "pixel_noise_var: " + std::to_string(pixel_noise_var) + "\n";
+    }
 };
 
 WOLF_STRUCT_PTR_TYPEDEFS(ProcessorParamsTrackerLandmarkImage);
@@ -54,6 +63,15 @@ struct ProcessorParamsTrackerLandmarkImage : public ProcessorParamsTrackerLandma
         pixel_noise_std = _server.getParam<Scalar>(_unique_name + "/pixel_noise_std");
         pixel_noise_var = _server.getParam<Scalar>(_unique_name + "/pixel_noise_var");
     }
+    std::string print()
+    {
+        return "\n" + ProcessorParamsTrackerLandmark::print()
+            + "yaml_file_params_vision_utils: " + yaml_file_params_vision_utils + "\n"
+            + "min_response_for_new_features: " + std::to_string(min_response_for_new_features) + "\n"
+            + "distance: " + std::to_string(distance) + "\n"
+            + "pixel_noise_std: " + std::to_string(pixel_noise_std) + "\n"
+            + "pixel_noise_var: " + std::to_string(pixel_noise_var) + "\n";
+    }
 };
 }
 
diff --git a/include/vision/processor/processor_tracker_feature_trifocal.h b/include/vision/processor/processor_tracker_feature_trifocal.h
index 51e109cba079af55d3bada4d600c7fedb703ab5e..5053355afde0f6a47486b1524b53a84d8c71faa7 100644
--- a/include/vision/processor/processor_tracker_feature_trifocal.h
+++ b/include/vision/processor/processor_tracker_feature_trifocal.h
@@ -38,6 +38,16 @@ struct ProcessorParamsTrackerFeatureTrifocal : public ProcessorParamsTrackerFeat
         pixel_noise_std = _server.getParam<Scalar>(_unique_name + "/pixel_noise_std");
         min_track_length_for_factor = _server.getParam<int>(_unique_name + "/min_track_length_for_factor");
     }
+    std::string print()
+    {
+        return "\n" + ProcessorParamsTrackerFeature::print()
+            + "yaml_file_params_vision_utils: " + yaml_file_params_vision_utils + "\n"
+            + "n_cells_h: " + std::to_string(n_cells_h) + "\n"
+            + "n_cells_v: " + std::to_string(n_cells_v) + "\n"
+            + "min_response_new_feature: " + std::to_string(min_response_new_feature) + "\n"
+            + "pixel_noise_std: " + std::to_string(pixel_noise_std) + "\n"
+            + "min_track_length_for_factor: " + std::to_string(min_track_length_for_factor) + "\n";
+    }
 };
 
 WOLF_PTR_TYPEDEFS(ProcessorTrackerFeatureTrifocal);
diff --git a/include/vision/sensor/sensor_camera.h b/include/vision/sensor/sensor_camera.h
index 1d448f577f38ff4465000e3bcc4faacf5bfb1291..8834c5f9d6390fcf54ca88dbd53cdf51a40cdf42 100644
--- a/include/vision/sensor/sensor_camera.h
+++ b/include/vision/sensor/sensor_camera.h
@@ -30,6 +30,15 @@ struct IntrinsicsCamera : public IntrinsicsBase
         pinhole_model_raw = _server.getParam<Eigen::Vector4s>(_unique_name + "/pinhole_model_raw");
         pinhole_model_rectified = _server.getParam<Eigen::Vector4s>(_unique_name + "/pinhole_model_rectified");
         distortion = _server.getParam<Eigen::VectorXs>(_unique_name + "/distortion");
+    }
+    std::string print()
+    {
+        return "\n" + IntrinsicsBase::print()
+            + "width: " + std::to_string(width) + "\n"
+            + "height: " + std::to_string(height) + "\n"
+            + "pinhole: " + converter<std::string>::convert(pinhole_model_raw) + "\n"
+            + "pinhole: " + converter<std::string>::convert(pinhole_model_rectified) + "\n"
+            + "distortion: " + converter<std::string>::convert(distortion) + "\n";
     }
         virtual ~IntrinsicsCamera() = default;
 };