diff --git a/cmake_modules/wolfIMUConfig.cmake b/cmake_modules/wolfIMUConfig.cmake
index fcdade1e0b53b2a1f19863f5800a0b0decfa984e..1735bf08fd762c56a7ac20363a20974d25e1f38e 100644
--- a/cmake_modules/wolfIMUConfig.cmake
+++ b/cmake_modules/wolfIMUConfig.cmake
@@ -59,7 +59,7 @@ macro(wolf_report_not_found REASON_MSG)
 endmacro(wolf_report_not_found)
 
 if(NOT wolfIMU_FOUND)
-  wolf_report_not_found("TROUBLE DUDE.")
+  wolf_report_not_found("Something went wrong while setting up wolf IMU.")
 endif(NOT wolfIMU_FOUND)
 # Set the include directories for wolf (itself).
 set(wolfIMU_FOUND TRUE)
\ No newline at end of file
diff --git a/src/examples/.gitignore b/demos/.gitignore
similarity index 100%
rename from src/examples/.gitignore
rename to demos/.gitignore
diff --git a/src/examples/ACTIVESEARCH.yaml b/demos/ACTIVESEARCH.yaml
similarity index 100%
rename from src/examples/ACTIVESEARCH.yaml
rename to demos/ACTIVESEARCH.yaml
diff --git a/src/examples/CMakeLists.txt b/demos/CMakeLists.txt
similarity index 100%
rename from src/examples/CMakeLists.txt
rename to demos/CMakeLists.txt
diff --git a/src/examples/camera_Dinesh_LAAS_params.yaml b/demos/camera_Dinesh_LAAS_params.yaml
similarity index 100%
rename from src/examples/camera_Dinesh_LAAS_params.yaml
rename to demos/camera_Dinesh_LAAS_params.yaml
diff --git a/src/examples/camera_Dinesh_LAAS_params_notangentrect.yaml b/demos/camera_Dinesh_LAAS_params_notangentrect.yaml
similarity index 100%
rename from src/examples/camera_Dinesh_LAAS_params_notangentrect.yaml
rename to demos/camera_Dinesh_LAAS_params_notangentrect.yaml
diff --git a/src/examples/camera_logitech_c300_640_480.yaml b/demos/camera_logitech_c300_640_480.yaml
similarity index 100%
rename from src/examples/camera_logitech_c300_640_480.yaml
rename to demos/camera_logitech_c300_640_480.yaml
diff --git a/src/examples/camera_params.yaml b/demos/camera_params.yaml
similarity index 100%
rename from src/examples/camera_params.yaml
rename to demos/camera_params.yaml
diff --git a/src/examples/camera_params_canonical.yaml b/demos/camera_params_canonical.yaml
similarity index 100%
rename from src/examples/camera_params_canonical.yaml
rename to demos/camera_params_canonical.yaml
diff --git a/src/examples/camera_params_ueye.yaml b/demos/camera_params_ueye.yaml
similarity index 100%
rename from src/examples/camera_params_ueye.yaml
rename to demos/camera_params_ueye.yaml
diff --git a/src/examples/camera_params_ueye_radial_dist.yaml b/demos/camera_params_ueye_radial_dist.yaml
similarity index 100%
rename from src/examples/camera_params_ueye_radial_dist.yaml
rename to demos/camera_params_ueye_radial_dist.yaml
diff --git a/src/examples/camera_params_ueye_sim.yaml b/demos/camera_params_ueye_sim.yaml
similarity index 100%
rename from src/examples/camera_params_ueye_sim.yaml
rename to demos/camera_params_ueye_sim.yaml
diff --git a/src/examples/test_2_lasers_offline.cpp b/demos/demo_2_lasers_offline.cpp
similarity index 100%
rename from src/examples/test_2_lasers_offline.cpp
rename to demos/demo_2_lasers_offline.cpp
diff --git a/src/examples/Test_ORB.png b/demos/demo_ORB.png
similarity index 100%
rename from src/examples/Test_ORB.png
rename to demos/demo_ORB.png
diff --git a/src/examples/test_analytic_odom_factor.cpp b/demos/demo_analytic_odom_factor.cpp
similarity index 100%
rename from src/examples/test_analytic_odom_factor.cpp
rename to demos/demo_analytic_odom_factor.cpp
diff --git a/src/examples/test_apriltag.cpp b/demos/demo_apriltag.cpp
similarity index 100%
rename from src/examples/test_apriltag.cpp
rename to demos/demo_apriltag.cpp
diff --git a/src/examples/test_autodiff.cpp b/demos/demo_autodiff.cpp
similarity index 100%
rename from src/examples/test_autodiff.cpp
rename to demos/demo_autodiff.cpp
diff --git a/src/examples/test_capture_laser_2D.cpp b/demos/demo_capture_laser_2D.cpp
similarity index 100%
rename from src/examples/test_capture_laser_2D.cpp
rename to demos/demo_capture_laser_2D.cpp
diff --git a/src/examples/test_ceres_2_lasers.cpp b/demos/demo_ceres_2_lasers.cpp
similarity index 100%
rename from src/examples/test_ceres_2_lasers.cpp
rename to demos/demo_ceres_2_lasers.cpp
diff --git a/src/examples/test_ceres_2_lasers_polylines.cpp b/demos/demo_ceres_2_lasers_polylines.cpp
similarity index 100%
rename from src/examples/test_ceres_2_lasers_polylines.cpp
rename to demos/demo_ceres_2_lasers_polylines.cpp
diff --git a/src/examples/test_diff_drive.cpp b/demos/demo_diff_drive.cpp
similarity index 100%
rename from src/examples/test_diff_drive.cpp
rename to demos/demo_diff_drive.cpp
diff --git a/src/examples/test_eigen_quaternion.cpp b/demos/demo_eigen_quaternion.cpp
similarity index 100%
rename from src/examples/test_eigen_quaternion.cpp
rename to demos/demo_eigen_quaternion.cpp
diff --git a/src/examples/test_eigen_template.cpp b/demos/demo_eigen_template.cpp
similarity index 100%
rename from src/examples/test_eigen_template.cpp
rename to demos/demo_eigen_template.cpp
diff --git a/src/examples/test_factor_AHP.cpp b/demos/demo_factor_AHP.cpp
similarity index 100%
rename from src/examples/test_factor_AHP.cpp
rename to demos/demo_factor_AHP.cpp
diff --git a/src/examples/test_factor_imu.cpp b/demos/demo_factor_imu.cpp
similarity index 100%
rename from src/examples/test_factor_imu.cpp
rename to demos/demo_factor_imu.cpp
diff --git a/src/examples/test_factor_odom_3D.cpp b/demos/demo_factor_odom_3D.cpp
similarity index 100%
rename from src/examples/test_factor_odom_3D.cpp
rename to demos/demo_factor_odom_3D.cpp
diff --git a/src/examples/test_faramotics_simulation.cpp b/demos/demo_faramotics_simulation.cpp
similarity index 100%
rename from src/examples/test_faramotics_simulation.cpp
rename to demos/demo_faramotics_simulation.cpp
diff --git a/src/examples/test_fcn_ptr.cpp b/demos/demo_fcn_ptr.cpp
similarity index 100%
rename from src/examples/test_fcn_ptr.cpp
rename to demos/demo_fcn_ptr.cpp
diff --git a/src/examples/test_image.cpp b/demos/demo_image.cpp
similarity index 100%
rename from src/examples/test_image.cpp
rename to demos/demo_image.cpp
diff --git a/src/examples/test_imuDock.cpp b/demos/demo_imuDock.cpp
similarity index 100%
rename from src/examples/test_imuDock.cpp
rename to demos/demo_imuDock.cpp
diff --git a/src/examples/test_imuDock_autoKFs.cpp b/demos/demo_imuDock_autoKFs.cpp
similarity index 100%
rename from src/examples/test_imuDock_autoKFs.cpp
rename to demos/demo_imuDock_autoKFs.cpp
diff --git a/src/examples/test_imuPlateform_Offline.cpp b/demos/demo_imuPlateform_Offline.cpp
similarity index 100%
rename from src/examples/test_imuPlateform_Offline.cpp
rename to demos/demo_imuPlateform_Offline.cpp
diff --git a/src/examples/test_imu_constrained0.cpp b/demos/demo_imu_constrained0.cpp
similarity index 100%
rename from src/examples/test_imu_constrained0.cpp
rename to demos/demo_imu_constrained0.cpp
diff --git a/src/examples/test_kf_callback.cpp b/demos/demo_kf_callback.cpp
similarity index 100%
rename from src/examples/test_kf_callback.cpp
rename to demos/demo_kf_callback.cpp
diff --git a/src/examples/test_list_remove.cpp b/demos/demo_list_remove.cpp
similarity index 100%
rename from src/examples/test_list_remove.cpp
rename to demos/demo_list_remove.cpp
diff --git a/src/examples/test_map_yaml.cpp b/demos/demo_map_yaml.cpp
similarity index 100%
rename from src/examples/test_map_yaml.cpp
rename to demos/demo_map_yaml.cpp
diff --git a/src/examples/test_matrix_prod.cpp b/demos/demo_matrix_prod.cpp
similarity index 100%
rename from src/examples/test_matrix_prod.cpp
rename to demos/demo_matrix_prod.cpp
diff --git a/src/examples/test_mpu.cpp b/demos/demo_mpu.cpp
similarity index 100%
rename from src/examples/test_mpu.cpp
rename to demos/demo_mpu.cpp
diff --git a/src/examples/test_processor_imu.cpp b/demos/demo_processor_imu.cpp
similarity index 100%
rename from src/examples/test_processor_imu.cpp
rename to demos/demo_processor_imu.cpp
diff --git a/src/examples/test_processor_imu_jacobians.cpp b/demos/demo_processor_imu_jacobians.cpp
similarity index 100%
rename from src/examples/test_processor_imu_jacobians.cpp
rename to demos/demo_processor_imu_jacobians.cpp
diff --git a/src/examples/test_processor_odom_3D.cpp b/demos/demo_processor_odom_3D.cpp
similarity index 100%
rename from src/examples/test_processor_odom_3D.cpp
rename to demos/demo_processor_odom_3D.cpp
diff --git a/src/examples/test_processor_tracker_feature.cpp b/demos/demo_processor_tracker_feature.cpp
similarity index 100%
rename from src/examples/test_processor_tracker_feature.cpp
rename to demos/demo_processor_tracker_feature.cpp
diff --git a/src/examples/test_processor_tracker_landmark.cpp b/demos/demo_processor_tracker_landmark.cpp
similarity index 100%
rename from src/examples/test_processor_tracker_landmark.cpp
rename to demos/demo_processor_tracker_landmark.cpp
diff --git a/src/examples/test_processor_tracker_landmark_image.cpp b/demos/demo_processor_tracker_landmark_image.cpp
similarity index 100%
rename from src/examples/test_processor_tracker_landmark_image.cpp
rename to demos/demo_processor_tracker_landmark_image.cpp
diff --git a/src/examples/test_projection_points.cpp b/demos/demo_projection_points.cpp
similarity index 100%
rename from src/examples/test_projection_points.cpp
rename to demos/demo_projection_points.cpp
diff --git a/src/examples/test_sh_ptr.cpp b/demos/demo_sh_ptr.cpp
similarity index 100%
rename from src/examples/test_sh_ptr.cpp
rename to demos/demo_sh_ptr.cpp
diff --git a/src/examples/test_simple_AHP.cpp b/demos/demo_simple_AHP.cpp
similarity index 100%
rename from src/examples/test_simple_AHP.cpp
rename to demos/demo_simple_AHP.cpp
diff --git a/src/examples/test_sort_keyframes.cpp b/demos/demo_sort_keyframes.cpp
similarity index 100%
rename from src/examples/test_sort_keyframes.cpp
rename to demos/demo_sort_keyframes.cpp
diff --git a/src/examples/test_sparsification.cpp b/demos/demo_sparsification.cpp
similarity index 100%
rename from src/examples/test_sparsification.cpp
rename to demos/demo_sparsification.cpp
diff --git a/src/examples/test_state_quaternion.cpp b/demos/demo_state_quaternion.cpp
similarity index 100%
rename from src/examples/test_state_quaternion.cpp
rename to demos/demo_state_quaternion.cpp
diff --git a/src/examples/test_tracker_ORB.cpp b/demos/demo_tracker_ORB.cpp
similarity index 100%
rename from src/examples/test_tracker_ORB.cpp
rename to demos/demo_tracker_ORB.cpp
diff --git a/src/examples/test_virtual_hierarchy.cpp b/demos/demo_virtual_hierarchy.cpp
similarity index 100%
rename from src/examples/test_virtual_hierarchy.cpp
rename to demos/demo_virtual_hierarchy.cpp
diff --git a/src/examples/test_wolf_autodiffwrapper.cpp b/demos/demo_wolf_autodiffwrapper.cpp
similarity index 100%
rename from src/examples/test_wolf_autodiffwrapper.cpp
rename to demos/demo_wolf_autodiffwrapper.cpp
diff --git a/src/examples/test_wolf_factories.cpp b/demos/demo_wolf_factories.cpp
similarity index 100%
rename from src/examples/test_wolf_factories.cpp
rename to demos/demo_wolf_factories.cpp
diff --git a/src/examples/test_wolf_imported_graph.cpp b/demos/demo_wolf_imported_graph.cpp
similarity index 100%
rename from src/examples/test_wolf_imported_graph.cpp
rename to demos/demo_wolf_imported_graph.cpp
diff --git a/src/examples/test_wolf_logging.cpp b/demos/demo_wolf_logging.cpp
similarity index 100%
rename from src/examples/test_wolf_logging.cpp
rename to demos/demo_wolf_logging.cpp
diff --git a/src/examples/test_wolf_prunning.cpp b/demos/demo_wolf_prunning.cpp
similarity index 100%
rename from src/examples/test_wolf_prunning.cpp
rename to demos/demo_wolf_prunning.cpp
diff --git a/src/examples/test_wolf_root.cpp b/demos/demo_wolf_root.cpp
similarity index 100%
rename from src/examples/test_wolf_root.cpp
rename to demos/demo_wolf_root.cpp
diff --git a/src/examples/test_wolf_tree.cpp b/demos/demo_wolf_tree.cpp
similarity index 100%
rename from src/examples/test_wolf_tree.cpp
rename to demos/demo_wolf_tree.cpp
diff --git a/src/examples/test_yaml.cpp b/demos/demo_yaml.cpp
similarity index 100%
rename from src/examples/test_yaml.cpp
rename to demos/demo_yaml.cpp
diff --git a/src/examples/test_yaml_conversions.cpp b/demos/demo_yaml_conversions.cpp
similarity index 100%
rename from src/examples/test_yaml_conversions.cpp
rename to demos/demo_yaml_conversions.cpp
diff --git a/src/examples/input_M3500b_toro.graph b/demos/input_M3500b_toro.graph
similarity index 100%
rename from src/examples/input_M3500b_toro.graph
rename to demos/input_M3500b_toro.graph
diff --git a/src/examples/map_apriltag_1.yaml b/demos/map_apriltag_1.yaml
similarity index 100%
rename from src/examples/map_apriltag_1.yaml
rename to demos/map_apriltag_1.yaml
diff --git a/src/examples/map_polyline_example.yaml b/demos/map_polyline_example.yaml
similarity index 100%
rename from src/examples/map_polyline_example.yaml
rename to demos/map_polyline_example.yaml
diff --git a/src/examples/maps/map_apriltag_logitech_1234.yaml b/demos/maps/map_apriltag_logitech_1234.yaml
similarity index 100%
rename from src/examples/maps/map_apriltag_logitech_1234.yaml
rename to demos/maps/map_apriltag_logitech_1234.yaml
diff --git a/src/examples/processor_image_feature.yaml b/demos/processor_image_feature.yaml
similarity index 100%
rename from src/examples/processor_image_feature.yaml
rename to demos/processor_image_feature.yaml
diff --git a/src/examples/processor_image_vision_utils.yaml b/demos/processor_image_vision_utils.yaml
similarity index 100%
rename from src/examples/processor_image_vision_utils.yaml
rename to demos/processor_image_vision_utils.yaml
diff --git a/src/examples/processor_imu.yaml b/demos/processor_imu.yaml
similarity index 100%
rename from src/examples/processor_imu.yaml
rename to demos/processor_imu.yaml
diff --git a/src/examples/processor_imu_no_vote.yaml b/demos/processor_imu_no_vote.yaml
similarity index 100%
rename from src/examples/processor_imu_no_vote.yaml
rename to demos/processor_imu_no_vote.yaml
diff --git a/src/examples/processor_imu_t1.yaml b/demos/processor_imu_t1.yaml
similarity index 100%
rename from src/examples/processor_imu_t1.yaml
rename to demos/processor_imu_t1.yaml
diff --git a/src/examples/processor_imu_t6.yaml b/demos/processor_imu_t6.yaml
similarity index 100%
rename from src/examples/processor_imu_t6.yaml
rename to demos/processor_imu_t6.yaml
diff --git a/src/examples/processor_odom_3D.yaml b/demos/processor_odom_3D.yaml
similarity index 100%
rename from src/examples/processor_odom_3D.yaml
rename to demos/processor_odom_3D.yaml
diff --git a/src/examples/processor_tracker_feature_trifocal.yaml b/demos/processor_tracker_feature_trifocal.yaml
similarity index 100%
rename from src/examples/processor_tracker_feature_trifocal.yaml
rename to demos/processor_tracker_feature_trifocal.yaml
diff --git a/src/examples/processor_tracker_landmark_apriltag.yaml b/demos/processor_tracker_landmark_apriltag.yaml
similarity index 100%
rename from src/examples/processor_tracker_landmark_apriltag.yaml
rename to demos/processor_tracker_landmark_apriltag.yaml
diff --git a/src/examples/sensor_imu.yaml b/demos/sensor_imu.yaml
similarity index 100%
rename from src/examples/sensor_imu.yaml
rename to demos/sensor_imu.yaml
diff --git a/src/examples/sensor_odom_3D.yaml b/demos/sensor_odom_3D.yaml
similarity index 100%
rename from src/examples/sensor_odom_3D.yaml
rename to demos/sensor_odom_3D.yaml
diff --git a/src/examples/sensor_odom_3D_HQ.yaml b/demos/sensor_odom_3D_HQ.yaml
similarity index 100%
rename from src/examples/sensor_odom_3D_HQ.yaml
rename to demos/sensor_odom_3D_HQ.yaml
diff --git a/src/examples/solver/test_SPQR.cpp b/demos/solver/test_SPQR.cpp
similarity index 100%
rename from src/examples/solver/test_SPQR.cpp
rename to demos/solver/test_SPQR.cpp
diff --git a/src/examples/solver/test_ccolamd.cpp b/demos/solver/test_ccolamd.cpp
similarity index 100%
rename from src/examples/solver/test_ccolamd.cpp
rename to demos/solver/test_ccolamd.cpp
diff --git a/src/examples/solver/test_ccolamd_blocks.cpp b/demos/solver/test_ccolamd_blocks.cpp
similarity index 100%
rename from src/examples/solver/test_ccolamd_blocks.cpp
rename to demos/solver/test_ccolamd_blocks.cpp
diff --git a/src/examples/solver/test_iQR.cpp b/demos/solver/test_iQR.cpp
similarity index 100%
rename from src/examples/solver/test_iQR.cpp
rename to demos/solver/test_iQR.cpp
diff --git a/src/examples/solver/test_iQR_wolf.cpp b/demos/solver/test_iQR_wolf.cpp
similarity index 100%
rename from src/examples/solver/test_iQR_wolf.cpp
rename to demos/solver/test_iQR_wolf.cpp
diff --git a/src/examples/solver/test_iQR_wolf2.cpp b/demos/solver/test_iQR_wolf2.cpp
similarity index 100%
rename from src/examples/solver/test_iQR_wolf2.cpp
rename to demos/solver/test_iQR_wolf2.cpp
diff --git a/src/examples/solver/test_incremental_ccolamd_blocks.cpp b/demos/solver/test_incremental_ccolamd_blocks.cpp
similarity index 100%
rename from src/examples/solver/test_incremental_ccolamd_blocks.cpp
rename to demos/solver/test_incremental_ccolamd_blocks.cpp
diff --git a/src/examples/solver/test_permutations.cpp b/demos/solver/test_permutations.cpp
similarity index 100%
rename from src/examples/solver/test_permutations.cpp
rename to demos/solver/test_permutations.cpp
diff --git a/src/examples/vision_utils_active_search.yaml b/demos/vision_utils_active_search.yaml
similarity index 100%
rename from src/examples/vision_utils_active_search.yaml
rename to demos/vision_utils_active_search.yaml
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
deleted file mode 100644
index caab481fc894f13fb75ba9e388839589e12dbffa..0000000000000000000000000000000000000000
--- a/src/CMakeLists.txt
+++ /dev/null
@@ -1,762 +0,0 @@
-#Start WOLF build
-MESSAGE("Starting WOLF CMakeLists ...")
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-
-#CMAKE modules
-
-SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake_modules")
-MESSAGE(STATUS ${CMAKE_MODULE_PATH})
-
-# Some wolf compilation options
-
-IF((CMAKE_BUILD_TYPE MATCHES DEBUG) OR (CMAKE_BUILD_TYPE MATCHES debug) OR (CMAKE_BUILD_TYPE MATCHES Debug))
-  set(_WOLF_DEBUG true)
-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 !
-IF(BUILD_EXAMPLES OR BUILD_TESTS)
-  set(_WOLF_ROOT_DIR ${CMAKE_SOURCE_DIR})
-ENDIF(BUILD_EXAMPLES OR BUILD_TESTS)
-
-#find dependencies.
-
-FIND_PACKAGE(Eigen3 3.2.92 REQUIRED)
-
-FIND_PACKAGE(Threads REQUIRED)
-
-FIND_PACKAGE(Ceres QUIET) #Ceres is not required
-IF(Ceres_FOUND)
-    MESSAGE("Ceres Library FOUND: Ceres related sources will be built.")
-ENDIF(Ceres_FOUND)
-
-FIND_PACKAGE(faramotics QUIET) #faramotics is not required
-IF(faramotics_FOUND)
-	FIND_PACKAGE(GLUT REQUIRED)
-	FIND_PACKAGE(pose_state_time REQUIRED)
-    MESSAGE("Faramotics Library FOUND: Faramotics related sources will be built.")
-ENDIF(faramotics_FOUND)
-
-FIND_PACKAGE(laser_scan_utils QUIET) #laser_scan_utils is not required
-IF(laser_scan_utils_FOUND)
-    MESSAGE("laser_scan_utils Library FOUND: laser_scan_utils related sources will be built.")
-ENDIF(laser_scan_utils_FOUND)
-
-FIND_PACKAGE(raw_gps_utils QUIET) #raw_gps_utils is not required
-IF(raw_gps_utils_FOUND)
-    MESSAGE("raw_gps_utils Library FOUND: raw_gps_utils related sources will be built.")
-ENDIF(raw_gps_utils_FOUND)
-
-# Vision Utils
-FIND_PACKAGE(vision_utils QUIET)
-IF (vision_utils_FOUND)
-	MESSAGE("vision_utils Library FOUND: vision related sources will be built.")
-	SET(PRINT_INFO_VU false)
-	FIND_PACKAGE(OpenCV QUIET)
-ENDIF(vision_utils_FOUND)
-
-# OpenCV
-FIND_PACKAGE(OpenCV QUIET)
-IF (OPENCV_FOUND)
-	MESSAGE("opencv Library FOUND: opencv related sources will be built.")
-ENDIF(OPENCV_FOUND)
-
-# Cereal
-FIND_PACKAGE(cereal QUIET)
-IF(cereal_FOUND)
-    MESSAGE("cereal Library FOUND: cereal related sources will be built.")
-ENDIF(cereal_FOUND)
-
-# Apriltag
-# TODO: write proper files to be able to use find_package with apriltag library
-FIND_PATH(APRILTAG_INCLUDE_DIR NAMES apriltag.h PATH_SUFFIXES "apriltag" ${APRILTAG_INCLUDE_PATH})
-FIND_LIBRARY(APRILTAG_LIBRARY NAMES apriltag PATH_SUFFIXES "${CMAKE_LIBRARY_ARCHITECTURE}" "apriltag" ${APRILTAG_LIBRARY_PATH})
-
-IF(APRILTAG_LIBRARY)
-    SET(Apriltag_FOUND TRUE)
-    MESSAGE("apriltag Library FOUND in ${APRILTAG_LIBRARY}: apriltag related sources will be built.")
-ENDIF(APRILTAG_LIBRARY)
-
-# YAML with yaml-cpp
-INCLUDE (${PROJECT_SOURCE_DIR}/cmake_modules/FindYamlCpp.cmake)
-IF(YAMLCPP_FOUND)
-    MESSAGE("yaml-cpp Library FOUND: yaml-cpp related sources will be built.")
-ELSEIF(YAMLCPP_FOUND)
-    MESSAGE("yaml-cpp Library NOT FOUND!")
-ENDIF(YAMLCPP_FOUND)
-
-#GLOG
-INCLUDE (${PROJECT_SOURCE_DIR}/cmake_modules/FindGlog.cmake)
-IF(GLOG_FOUND)
-    MESSAGE("glog Library FOUND: glog related sources will be built.")
-    MESSAGE(STATUS ${GLOG_INCLUDE_DIR})
-    MESSAGE(STATUS ${GLOG_LIBRARY})
-ELSEIF(GLOG_FOUND)
-    MESSAGE("glog Library NOT FOUND!")
-ENDIF(GLOG_FOUND)
-
-# SuiteSparse doesn't have find*.cmake:
-FIND_PATH(
-    Suitesparse_INCLUDE_DIRS
-    NAMES SuiteSparse_config.h
-    PATHS /usr/include/suitesparse /usr/local/include/suitesparse)
-MESSAGE("Found suitesparse_INCLUDE_DIRS:" ${Suitesparse_INCLUDE_DIRS})
-
-IF(Suitesparse_INCLUDE_DIRS)
-   SET(Suitesparse_FOUND TRUE)
-   MESSAGE("Suitesparse FOUND: wolf_solver will be built.")
-ELSE (Suitesparse_INCLUDE_DIRS)
-   SET(Suitesparse_FOUND FALSE)
-   MESSAGE(FATAL_ERROR "Suitesparse NOT FOUND")
-ENDIF (Suitesparse_INCLUDE_DIRS)
-
-# Define the directory where will be the configured config.h
-SET(WOLF_CONFIG_DIR ${PROJECT_BINARY_DIR}/conf/internal)
-
-# Create the specified output directory if it does not exist.
-IF(NOT EXISTS "${WOLF_CONFIG_DIR}")
-  message(STATUS "Creating config output directory: ${WOLF_CONFIG_DIR}")
-  file(MAKE_DIRECTORY "${WOLF_CONFIG_DIR}")
-ENDIF()
-IF(EXISTS "${WOLF_CONFIG_DIR}" AND NOT IS_DIRECTORY "${WOLF_CONFIG_DIR}")
-  message(FATAL_ERROR "Bug: Specified CONFIG_DIR: "
-    "${WOLF_CONFIG_DIR} exists, but is not a directory.")
-ENDIF()
-# Configure config.h
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/internal/config.h.in "${WOLF_CONFIG_DIR}/config.h")
-
-#TEMPORAL INCLUDE UNTIL WE FIGURE OUT WHAT TO DO WITH FILES in src/temp
-
-include_directories(${CMAKE_CURRENT_SOURCE_DIR})
-include_directories(../dummyInclude)
-
-# Include config.h directory at first.
-include_directories("${PROJECT_BINARY_DIR}/conf")
-
-INCLUDE_DIRECTORIES(.)
-
-# include spdlog (logging library)
-FIND_PATH(SPDLOG_INCLUDE_DIR spdlog.h /usr/local/include/spdlog /usr/include/spdlog)
-IF (SPDLOG_INCLUDE_DIR)
-  INCLUDE_DIRECTORIES(${SPDLOG_INCLUDE_DIR})
-  MESSAGE(STATUS "Found spdlog: ${SPDLOG_INCLUDE_DIR}")
-ELSE (SPDLOG_INCLUDE_DIR)
- MESSAGE(FATAL_ERROR "Could not find spdlog")
-ENDIF (SPDLOG_INCLUDE_DIR)  
-  
-INCLUDE_DIRECTORIES(${EIGEN_INCLUDE_DIRS})
-
-IF(Ceres_FOUND)
-    INCLUDE_DIRECTORIES(${CERES_INCLUDE_DIRS})
-ENDIF(Ceres_FOUND)
-
-IF(faramotics_FOUND)
-    INCLUDE_DIRECTORIES(${faramotics_INCLUDE_DIRS})
-ENDIF(faramotics_FOUND)
-
-IF(laser_scan_utils_FOUND)
-    INCLUDE_DIRECTORIES(${laser_scan_utils_INCLUDE_DIRS})
-ENDIF(laser_scan_utils_FOUND)
-
-IF(raw_gps_utils_FOUND)
-    INCLUDE_DIRECTORIES(${raw_gps_utils_INCLUDE_DIRS})
-ENDIF(raw_gps_utils_FOUND)
-
-IF(vision_utils_FOUND)
-	INCLUDE_DIRECTORIES(${vision_utils_INCLUDE_DIR})
-	INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})
-ENDIF(vision_utils_FOUND)
-
-IF(OPENCV_FOUND)
-	INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})
-ENDIF(OPENCV_FOUND)
-
-# cereal
-IF(cereal_FOUND)
-    INCLUDE_DIRECTORIES(${cereal_INCLUDE_DIRS})
-ENDIF(cereal_FOUND)
-
-IF(Suitesparse_FOUND)
-    INCLUDE_DIRECTORIES(${Suitesparse_INCLUDE_DIRS})
-ENDIF(Suitesparse_FOUND)
-
-IF(YAMLCPP_FOUND)
-    INCLUDE_DIRECTORIES(${YAMLCPP_INCLUDE_DIR})
-ENDIF(YAMLCPP_FOUND)
-
-IF(GLOG_FOUND)
-    INCLUDE_DIRECTORIES(${GLOG_INCLUDE_DIR})
-ENDIF(GLOG_FOUND)
-
-IF(APRILTAG_INCLUDE_DIR)
-    INCLUDE_DIRECTORIES(${APRILTAG_INCLUDE_DIR})
-ENDIF(APRILTAG_INCLUDE_DIR)
-
-#headers
-SET(HDRS_BASE
-capture/capture_motion.h
-    eigen_assert.h
-    eigen_predicates.h
-landmark/landmark_match.h
-    make_unique.h
-    pinhole_tools.h
-processor/processor_capture_holder.h
-processor/processor_tracker_landmark.h
-    )
-SET(HDRS
-capture/capture_motion.h
-capture/capture_GPS_fix.h
-capture/capture_IMU.h
-capture/capture_odom_2D.h
-capture/capture_odom_3D.h
-factor/factor_block_absolute.h
-factor/factor_container.h
-factor/factor_corner_2D.h
-factor/factor_AHP.h
-factor/factor_epipolar.h
-factor/factor_IMU.h
-factor/factor_fix_bias.h
-factor/factor_GPS_2D.h
-factor/factor_GPS_pseudorange_3D.h
-factor/factor_GPS_pseudorange_2D.h
-factor/factor_odom_2D.h
-factor/factor_odom_2D_analytic.h
-factor/factor_odom_3D.h
-factor/factor_point_2D.h
-factor/factor_point_to_line_2D.h
-factor/factor_pose_2D.h
-factor/factor_pose_3D.h
-factor/factor_quaternion_absolute.h
-factor/factor_relative_2D_analytic.h
-    temp/diff_drive_tools.h
-    temp/diff_drive_tools.hpp
-feature/feature_corner_2D.h
-feature/feature_GPS_fix.h
-feature/feature_GPS_pseudorange.h
-feature/feature_IMU.h
-feature/feature_odom_2D.h
-feature/feature_polyline_2D.h
-    IMU_tools.h
-landmark/landmark_corner_2D.h
-landmark/landmark_container.h
-landmark/landmark_line_2D.h
-landmark/landmark_polyline_2D.h
-    local_parametrization_polyline_extreme.h
-processor/processor_frame_nearest_neighbor_filter.h
-processor/processor_IMU.h
-    test/processor_IMU_UnitTester.h
-processor/processor_odom_2D.h
-processor/processor_odom_3D.h
-processor/processor_tracker_feature_dummy.h
-processor/processor_tracker_landmark_dummy.h
-sensor/sensor_camera.h
-sensor/sensor_GPS.h
-sensor/sensor_GPS_fix.h
-sensor/sensor_IMU.h
-sensor/sensor_odom_2D.h
-sensor/sensor_odom_3D.h
-    )
-  SET(HDRS_CAPTURE
-capture/capture_GPS_fix.h
-capture/capture_IMU.h
-capture/capture_odom_2D.h
-capture/capture_odom_3D.h
-capture/capture_velocity.h
-capture/capture_wheel_joint_position.h
-    )
-  SET(HDRS_CONSTRAINT
-factor/factor_autodiff_trifocal.h
-factor/factor_autodiff_distance_3D.h
-factor/factor_AHP.h
-factor/factor_block_absolute.h
-factor/factor_container.h
-factor/factor_corner_2D.h
-factor/factor_diff_drive.h
-factor/factor_epipolar.h
-factor/factor_IMU.h
-factor/factor_fix_bias.h
-factor/factor_GPS_2D.h
-factor/factor_GPS_pseudorange_3D.h
-factor/factor_GPS_pseudorange_2D.h
-factor/factor_odom_2D.h
-factor/factor_odom_2D_analytic.h
-factor/factor_odom_3D.h
-factor/factor_point_2D.h
-factor/factor_point_to_line_2D.h
-factor/factor_pose_2D.h
-factor/factor_pose_3D.h
-factor/factor_quaternion_absolute.h
-factor/factor_relative_2D_analytic.h
-    )
-  SET(HDRS_FEATURE
-feature/feature_corner_2D.h
-feature/feature_diff_drive.h
-feature/feature_GPS_fix.h
-feature/feature_GPS_pseudorange.h
-feature/feature_IMU.h
-feature/feature_odom_2D.h
-feature/feature_polyline_2D.h
-    )
-  SET(HDRS_LANDMARK
-landmark/landmark_match.h
-landmark/landmark_corner_2D.h
-landmark/landmark_container.h
-landmark/landmark_line_2D.h
-landmark/landmark_polyline_2D.h
-    )
-  SET(HDRS_PROCESSOR
-processor/processor_capture_holder.h
-processor/processor_diff_drive.h
-processor/processor_frame_nearest_neighbor_filter.h
-processor/processor_IMU.h
-processor/processor_odom_2D.h
-processor/processor_odom_3D.h
-processor/processor_tracker_feature_dummy.h
-processor/processor_tracker_landmark.h
-processor/processor_tracker_landmark_dummy.h
-    )
-  SET(HDRS_SENSOR
-sensor/sensor_camera.h
-sensor/sensor_diff_drive.h
-sensor/sensor_GPS.h
-sensor/sensor_GPS_fix.h
-sensor/sensor_IMU.h
-sensor/sensor_odom_2D.h
-sensor/sensor_odom_3D.h
-    )
-# [Add generic derived header before this line]
-
-SET(HDRS_DTASSC
-    data_association/matrix.h
-    data_association/association_solver.h
-    data_association/association_node.h
-    data_association/association_tree.h
-    data_association/association_nnls.h
-    )
-
-SET(HDRS_CORE 
-core/capture_base.h
-core/capture_buffer.h
-core/capture_pose.h
-core/capture_void.h
-core/factor_analytic.h
-core/factor_autodiff.h
-core/factor_base.h
-core/factory.h
-core/feature_base.h
-core/feature_match.h
-core/feature_pose.h
-core/frame_base.h
-core/hardware_base.h
-core/landmark_base.h
-core/local_parametrization_angle.h
-core/local_parametrization_base.h
-core/local_parametrization_homogeneous.h
-core/local_parametrization_quaternion.h
-core/logging.h
-core/map_base.h
-core/motion_buffer.h
-core/node_base.h
-core/problem.h
-core/processor_base.h
-core/factory.h
-core/processor_loopclosure_base.h
-core/processor_motion.h
-core/processor_tracker_feature.h
-core/processor_tracker.h
-core/rotations.h
-core/sensor_base.h
-core/factory.h
-core/singleton.h
-core/state_angle.h
-core/state_block.h
-core/state_homogeneous_3D.h
-core/state_quaternion.h
-core/three_D_tools.h
-core/time_stamp.h
-core/track_matrix.h
-core/trajectory_base.h
-core/wolf.h
-  )
-SET(SRCS_CORE 
-core/capture_base.cpp
-core/capture_pose.cpp
-core/capture_void.cpp
-core/factor_analytic.cpp
-core/factor_base.cpp
-core/feature_base.cpp
-core/feature_pose.cpp
-core/frame_base.cpp
-core/hardware_base.cpp
-core/landmark_base.cpp
-core/local_parametrization_base.cpp
-core/local_parametrization_homogeneous.cpp
-core/local_parametrization_quaternion.cpp
-core/map_base.cpp
-core/motion_buffer.cpp
-core/node_base.cpp
-core/problem.cpp
-core/processor_base.cpp
-core/processor_loopclosure_base.cpp
-core/processor_motion.cpp
-core/processor_tracker.cpp
-core/processor_tracker_feature.cpp
-core/sensor_base.cpp
-core/state_block.cpp
-core/time_stamp.cpp
-core/track_matrix.cpp
-core/trajectory_base.cpp
-  )
-#sources
-SET(SRCS_BASE
-capture/capture_motion.cpp
-processor/processor_capture_holder.cpp
-processor/processor_tracker_landmark.cpp
-    )
-
-SET(SRCS
-  local_parametrization_polyline_extreme.cpp
-  test/processor_IMU_UnitTester.cpp
-  )
-  SET(SRCS_CAPTURE
-capture/capture_GPS_fix.cpp
-capture/capture_IMU.cpp
-capture/capture_odom_2D.cpp
-capture/capture_odom_3D.cpp
-capture/capture_velocity.cpp
-capture/capture_wheel_joint_position.cpp
-    )
-  SET(SRCS_FEATURE
-feature/feature_corner_2D.cpp
-feature/feature_diff_drive.cpp
-feature/feature_GPS_fix.cpp
-feature/feature_GPS_pseudorange.cpp
-feature/feature_IMU.cpp
-feature/feature_odom_2D.cpp
-feature/feature_polyline_2D.cpp
-    )
-  SET(SRCS_LANDMARK
-landmark/landmark_corner_2D.cpp
-landmark/landmark_container.cpp
-landmark/landmark_line_2D.cpp
-landmark/landmark_polyline_2D.cpp
-    )
-  SET(SRCS_PROCESSOR
-processor/processor_frame_nearest_neighbor_filter.cpp
-processor/processor_diff_drive.cpp
-processor/processor_IMU.cpp
-processor/processor_odom_2D.cpp
-processor/processor_odom_3D.cpp
-processor/processor_tracker_feature_dummy.cpp
-processor/processor_tracker_landmark_dummy.cpp
-    )
-  SET(SRCS_SENSOR
-sensor/sensor_camera.cpp
-sensor/sensor_diff_drive.cpp
-sensor/sensor_GPS.cpp
-sensor/sensor_GPS_fix.cpp
-sensor/sensor_IMU.cpp
-sensor/sensor_odom_2D.cpp
-sensor/sensor_odom_3D.cpp
-    )
-SET(SRCS_DTASSC
-    data_association/association_solver.cpp
-    data_association/association_node.cpp
-    data_association/association_tree.cpp
-    data_association/association_nnls.cpp
-    )
-
-# Add the solver sub-directory
-add_subdirectory(solver)
-
-#optional HDRS and SRCS
-IF (Ceres_FOUND)
-    SET(HDRS_WRAPPER
-        ceres_wrapper/sparse_utils.h
-        #ceres_wrapper/solver_manager.h
-        ceres_wrapper/ceres_manager.h
-        #ceres_wrapper/qr_manager.h
-        ceres_wrapper/cost_function_wrapper.h
-        ceres_wrapper/create_numeric_diff_cost_function.h
-        ceres_wrapper/local_parametrization_wrapper.h 
-        )
-    SET(SRCS_WRAPPER
-        #ceres_wrapper/solver_manager.cpp
-        ceres_wrapper/ceres_manager.cpp
-        #ceres_wrapper/qr_manager.cpp
-        ceres_wrapper/local_parametrization_wrapper.cpp 
-        )
-ELSE(Ceres_FOUND)
-    SET(HDRS_WRAPPER)
-    SET(SRCS_WRAPPER)
-ENDIF(Ceres_FOUND)
-
-IF (laser_scan_utils_FOUND)
-    SET(HDRS ${HDRS}
-capture/capture_laser_2D.h
-sensor/sensor_laser_2D.h
-processor/processor_tracker_feature_corner.h
-processor/processor_tracker_landmark_corner.h
-processor/processor_tracker_landmark_polyline.h
-        )
-    SET(SRCS ${SRCS}
-capture/capture_laser_2D.cpp
-sensor/sensor_laser_2D.cpp
-processor/processor_tracker_feature_corner.cpp
-processor/processor_tracker_landmark_corner.cpp
-processor/processor_tracker_landmark_polyline.cpp
-        )
-ENDIF(laser_scan_utils_FOUND)
-
-IF (raw_gps_utils_FOUND)
-    SET(HDRS ${HDRS}
-capture/capture_GPS.h
-processor/processor_GPS.h
-        )
-    SET(SRCS ${SRCS}
-capture/capture_GPS.cpp
-processor/processor_GPS.cpp
-        )
-ENDIF(raw_gps_utils_FOUND)
-
-# Vision
-IF (vision_utils_FOUND)
-    SET(HDRS ${HDRS}
-capture/capture_image.h
-feature/feature_point_image.h
-landmark/landmark_AHP.h
-processor/processor_params_image.h
-processor/processor_tracker_feature_image.h
-processor/processor_tracker_landmark_image.h
-        )
-    SET(HDRS_PROCESSOR ${HDRS_PROCESSOR}
-processor/processor_tracker_feature_trifocal.h
-    )
-  SET(HDRS_LANDMARK ${HDRS_LANDMARK}
-landmark/landmark_point_3D.h
-    )
-    SET(SRCS ${SRCS}
-capture/capture_image.cpp
-feature/feature_point_image.cpp
-landmark/landmark_AHP.cpp
-processor/processor_tracker_feature_image.cpp
-processor/processor_tracker_landmark_image.cpp
-        )
-    SET(SRCS_LANDMARK ${SRCS_LANDMARK}
-landmark/landmark_point_3D.cpp
-    )
-    SET(SRCS_PROCESSOR ${SRCS_PROCESSOR}
-processor/processor_tracker_feature_trifocal.cpp
-    )
-ENDIF(vision_utils_FOUND)
-
-IF (OPENCV_FOUND AND Apriltag_FOUND)
-    SET(HDRS ${HDRS}
-        landmark_apriltag.h
-        )
-    SET(SRCS ${SRCS}
-        landmark_apriltag.cpp
-        )
-ENDIF(OPENCV_FOUND AND Apriltag_FOUND)
-
-# Add the capture sub-directory
-# ADD_SUBDIRECTORY(captures)
-
-# Add the factors sub-directory
-# ADD_SUBDIRECTORY(factors)
-
-# Add the features sub-directory
-# ADD_SUBDIRECTORY(features)
-
-# Add the landmarks sub-directory
-# ADD_SUBDIRECTORY(landmarks)
-
-# Add the processors sub-directory
-# ADD_SUBDIRECTORY(processors)
-
-# Add the sensors sub-directory
-# ADD_SUBDIRECTORY(sensors)
-
-# Add the hello_wolf sub-directory
-ADD_SUBDIRECTORY(hello_wolf)
-
-IF (cereal_FOUND)
-  ADD_SUBDIRECTORY(serialization/cereal)
-ENDIF(cereal_FOUND)
-
-IF (Suitesparse_FOUND)
-    ADD_SUBDIRECTORY(solver_suitesparse)
-ENDIF(Suitesparse_FOUND)
-
-# LEAVE YAML FILES ALWAYS IN THE LAST POSITION !!
-IF(YAMLCPP_FOUND)
-    # headers
-    SET(HDRS ${HDRS}
-        yaml/yaml_conversion.h
-        )
-
-    # sources
-    SET(SRCS ${SRCS}
-        yaml/processor_odom_3D_yaml.cpp
-        yaml/processor_IMU_yaml.cpp
-        yaml/sensor_camera_yaml.cpp
-        yaml/sensor_odom_3D_yaml.cpp
-        yaml/sensor_IMU_yaml.cpp
-        )
-    IF(laser_scan_utils_FOUND)
-        SET(SRCS ${SRCS}
-            yaml/sensor_laser_2D_yaml.cpp
-            )
-    ENDIF(laser_scan_utils_FOUND)
-    IF(vision_utils_FOUND)
-        SET(SRCS ${SRCS}
-        	yaml/processor_image_yaml.cpp
-        	yaml/processor_tracker_feature_trifocal_yaml.cpp
-            )
-            IF(Apriltag_FOUND)
-                SET(SRCS ${SRCS}
-                    yaml/processor_tracker_landmark_apriltag_yaml.cpp
-                )
-            ENDIF(Apriltag_FOUND)
-    ENDIF(vision_utils_FOUND)
-ENDIF(YAMLCPP_FOUND)
-
-# create the shared library
-add_library(${PROJECT_NAME}_core SHARED
-                 ${SRCS_CORE}
-                 ${SRCS_BASE} 
-                )
-ADD_LIBRARY(${PROJECT_NAME} 
-            SHARED 
-            ${SRCS_BASE} 
-            ${SRCS}
-            ${SRCS_CAPTURE}
-            ${SRCS_CONSTRAINT}
-            ${SRCS_FEATURE}
-            ${SRCS_LANDMARK}
-            ${SRCS_PROCESSOR}
-            ${SRCS_SENSOR}
-            #${SRCS_DTASSC} 
-            ${SRCS_SOLVER}
-            ${SRCS_WRAPPER}
-            )
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${CMAKE_THREAD_LIBS_INIT})
-
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${PROJECT_NAME}_core)
-#Link the created libraries
-#=============================================================
-IF (Ceres_FOUND)
-    TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${CERES_LIBRARIES})
-ENDIF(Ceres_FOUND)
-
-IF (laser_scan_utils_FOUND)
-    TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${laser_scan_utils_LIBRARY})
-ENDIF (laser_scan_utils_FOUND)
-
-IF (raw_gps_utils_FOUND)
-    TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${raw_gps_utils_LIBRARY})
-ENDIF (raw_gps_utils_FOUND)
-
-IF (OPENCV_FOUND)
-   	TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${OpenCV_LIBS})
-	IF (vision_utils_FOUND)
-    	TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${vision_utils_LIBRARY})
-	ENDIF (vision_utils_FOUND)
-ENDIF (OPENCV_FOUND)
-
-IF (OPENCV_FOUND)
-   	TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${OpenCV_LIBS})
-ENDIF (OPENCV_FOUND)
-
-IF (YAMLCPP_FOUND)
-    TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${YAMLCPP_LIBRARY})
-ENDIF (YAMLCPP_FOUND)
-
-IF (GLOG_FOUND)
-    TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${GLOG_LIBRARY})
-ENDIF (GLOG_FOUND)
-
-#check if this is done correctly
-IF (OPENCV_FOUND AND Apriltag_FOUND)
-    LINK_LIBRARIES(apriltag m)
-    TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${APRILTAG_LIBRARY}  ${CMAKE_THREAD_LIBS_INIT} ${OPENCV_LDFLAGS} m)
-ENDIF(OPENCV_FOUND AND Apriltag_FOUND)
-
-#install library
-install(TARGETS ${PROJECT_NAME}_core DESTINATION lib/iri-algorithms EXPORT ${PROJECT_NAME}_core-targets)
-install(EXPORT ${PROJECT_NAME}_core-targets DESTINATION lib/iri-algorithms)
-#=============================================================
-INSTALL(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Targets
-      RUNTIME DESTINATION bin
-      LIBRARY DESTINATION lib/iri-algorithms
-      ARCHIVE DESTINATION lib/iri-algorithms)
-
-install(EXPORT ${PROJECT_NAME}Targets DESTINATION lib/cmake/${PROJECT_NAME})
-
-#install headers
-INSTALL(FILES ${HDRS_BASE}
-    DESTINATION include/iri-algorithms/wolf)
-INSTALL(FILES ${HDRS}
-    DESTINATION include/iri-algorithms/wolf)
-INSTALL(FILES ${HDRS_CORE}
-    DESTINATION include/iri-algorithms/wolf/core)
-#INSTALL(FILES ${HDRS_DTASSC}
-#    DESTINATION include/iri-algorithms/wolf/data_association)
-INSTALL(FILES ${HDRS_CAPTURE}
-    DESTINATION include/iri-algorithms/wolf/capture)
-INSTALL(FILES ${HDRS_CONSTRAINT}
-    DESTINATION include/iri-algorithms/wolf/factor)
-INSTALL(FILES ${HDRS_FEATURE}
-    DESTINATION include/iri-algorithms/wolf/feature)
-INSTALL(FILES ${HDRS_SENSOR}
-    DESTINATION include/iri-algorithms/wolf/sensor)
-INSTALL(FILES ${HDRS_PROCESSOR}
-    DESTINATION include/iri-algorithms/wolf/processor)
-INSTALL(FILES ${HDRS_LANDMARK}
-    DESTINATION include/iri-algorithms/wolf/landmark)
-INSTALL(FILES ${HDRS_WRAPPER}
-    DESTINATION include/iri-algorithms/wolf/ceres_wrapper)
-#INSTALL(FILES ${HDRS_SOLVER_SUITESPARSE}
-#    DESTINATION include/iri-algorithms/wolf/solver_suitesparse)
-INSTALL(FILES ${HDRS_SOLVER}
-    DESTINATION include/iri-algorithms/wolf/solver)
-INSTALL(FILES ${HDRS_SERIALIZATION}
-    DESTINATION include/iri-algorithms/wolf/serialization)
-INSTALL(FILES "${CMAKE_SOURCE_DIR}/cmake_modules/Findwolf.cmake"
-    DESTINATION "lib/cmake/${PROJECT_NAME}")
-
-#install Find*.cmake
-configure_file("${CMAKE_SOURCE_DIR}/cmake_modules/wolfConfig.cmake"
-               "${CMAKE_BINARY_DIR}/wolfConfig.cmake" @ONLY)
-
-INSTALL(FILES "${WOLF_CONFIG_DIR}/config.h"
-DESTINATION include/iri-algorithms/wolf/internal)
-
-INSTALL(FILES "${CMAKE_BINARY_DIR}/wolfConfig.cmake" DESTINATION "lib/cmake/${PROJECT_NAME}")
-
-INSTALL(DIRECTORY ${SPDLOG_INCLUDE_DIRS} DESTINATION "include/iri-algorithms/")
-
-export(PACKAGE ${PROJECT_NAME})
-
-#############
-## Testing ##
-#############
-IF (GLOG_FOUND)
-    IF(BUILD_TESTS)
-        MESSAGE("Building tests.")
-        add_subdirectory(test)
-    ENDIF(BUILD_TESTS)
-ENDIF (GLOG_FOUND)
-
-IF(BUILD_EXAMPLES)
-  #Build examples
-  MESSAGE("Building examples.")
-  ADD_SUBDIRECTORY(examples)
-ENDIF(BUILD_EXAMPLES)
-
diff --git a/test/gtest_IMU.cpp b/test/gtest_IMU.cpp
index f61cb7398d3e64f5f047c93d62d1953696c71d62..4f2f6025e6b73a16770dc49a1159c004b7cefe8c 100644
--- a/test/gtest_IMU.cpp
+++ b/test/gtest_IMU.cpp
@@ -94,8 +94,8 @@ class Process_Factor_IMU : public testing::Test
             ceres_manager = make_shared<CeresManager>(problem, ceres_options);
 
             // SENSOR + PROCESSOR IMU
-            SensorBasePtr       sensor = problem->installSensor   ("IMU", "Main IMU", (Vector7s()<<0,0,0,0,0,0,1).finished(), wolf_root + "/src/examples/sensor_imu.yaml");
-            ProcessorBasePtr processor = problem->installProcessor("IMU", "IMU pre-integrator", "Main IMU", wolf_root + "/src/examples/processor_imu_no_vote.yaml");
+            SensorBasePtr       sensor = problem->installSensor   ("IMU", "Main IMU", (Vector7s()<<0,0,0,0,0,0,1).finished(), wolf_root + "/demos/sensor_imu.yaml");
+            ProcessorBasePtr processor = problem->installProcessor("IMU", "IMU pre-integrator", "Main IMU", wolf_root + "/demos/processor_imu_no_vote.yaml");
             sensor_imu    = static_pointer_cast<SensorIMU>   (sensor);
             processor_imu = static_pointer_cast<ProcessorIMU>(processor);
 
@@ -600,8 +600,8 @@ class Process_Factor_IMU_ODO : public Process_Factor_IMU
             // ===================================== ODO
             string wolf_root = _WOLF_ROOT_DIR;
 
-            SensorBasePtr    sensor     = problem->installSensor   ("ODOM 3D", "Odometer", (Vector7s()<<0,0,0,0,0,0,1).finished(), wolf_root + "/src/examples/sensor_odom_3D.yaml"   );
-            ProcessorBasePtr processor  = problem->installProcessor("ODOM 3D", "Odometer", "Odometer"                            , wolf_root + "/src/examples/processor_odom_3D.yaml");
+            SensorBasePtr    sensor     = problem->installSensor   ("ODOM 3D", "Odometer", (Vector7s()<<0,0,0,0,0,0,1).finished(), wolf_root + "/demos/sensor_odom_3D.yaml"   );
+            ProcessorBasePtr processor  = problem->installProcessor("ODOM 3D", "Odometer", "Odometer"                            , wolf_root + "/demos/processor_odom_3D.yaml");
             sensor_odo      = static_pointer_cast<SensorOdom3D>(sensor);
 
             processor_odo   = static_pointer_cast<ProcessorOdom3D>(processor);
diff --git a/test/gtest_processor_IMU.cpp b/test/gtest_processor_IMU.cpp
index 16bcaa48084f23a1167c664dfff2f1208137d411..5dbd53a11144e37663cbef6d4dfbfa20542ac205 100644
--- a/test/gtest_processor_IMU.cpp
+++ b/test/gtest_processor_IMU.cpp
@@ -50,8 +50,8 @@ class ProcessorIMUt : public testing::Test
         // Wolf problem
         problem = Problem::create("POV", 3);
         Vector7s extrinsics = (Vector7s() << 0,0,0, 0,0,0,1).finished();
-        sensor_ptr = problem->installSensor("IMU", "Main IMU", extrinsics,  wolf_root + "/src/examples/sensor_imu.yaml");
-        ProcessorBasePtr processor_ptr = problem->installProcessor("IMU", "IMU pre-integrator", "Main IMU", wolf_root + "/src/examples/processor_imu.yaml");
+        sensor_ptr = problem->installSensor("IMU", "Main IMU", extrinsics,  wolf_root + "/demos/sensor_imu.yaml");
+        ProcessorBasePtr processor_ptr = problem->installProcessor("IMU", "IMU pre-integrator", "Main IMU", wolf_root + "/demos/processor_imu.yaml");
 
         // Time and data variables
         data = Vector6s::Zero();
@@ -99,7 +99,7 @@ TEST(ProcessorIMU_constructors, ALL)
     std::string wolf_root = _WOLF_ROOT_DIR;
     ProblemPtr problem = Problem::create("POV", 3);
     Vector7s extrinsics = (Vector7s()<<1,0,0, 0,0,0,1).finished();
-    SensorBasePtr sensor_ptr = problem->installSensor("IMU", "Main IMU", extrinsics, wolf_root + "/src/examples/sensor_imu.yaml");
+    SensorBasePtr sensor_ptr = problem->installSensor("IMU", "Main IMU", extrinsics, wolf_root + "/demos/sensor_imu.yaml");
     ProcessorBasePtr processor_ptr = problem->installProcessor("IMU", "IMU pre-integrator", "Main IMU", "");
     ProcessorParamsIMU params_default;
     ASSERT_EQ(std::static_pointer_cast<ProcessorIMU>(processor_ptr)->getMaxTimeSpan(),   params_default.max_time_span);
@@ -108,7 +108,7 @@ TEST(ProcessorIMU_constructors, ALL)
     ASSERT_EQ(std::static_pointer_cast<ProcessorIMU>(processor_ptr)->getAngleTurned(),   params_default.angle_turned);
 
     //Factory constructor with yaml
-    processor_ptr = problem->installProcessor("IMU", "Sec IMU pre-integrator", "Main IMU", wolf_root + "/src/examples/processor_imu.yaml");
+    processor_ptr = problem->installProcessor("IMU", "Sec IMU pre-integrator", "Main IMU", wolf_root + "/demos/processor_imu.yaml");
     ASSERT_EQ(std::static_pointer_cast<ProcessorIMU>(processor_ptr)->getMaxTimeSpan(),   2.0);
     ASSERT_EQ(std::static_pointer_cast<ProcessorIMU>(processor_ptr)->getMaxBuffLength(), 20000);
     ASSERT_EQ(std::static_pointer_cast<ProcessorIMU>(processor_ptr)->getDistTraveled(),  2.0);
@@ -129,7 +129,7 @@ TEST(ProcessorIMU, voteForKeyFrame)
     // Wolf problem
     ProblemPtr problem = Problem::create("POV", 3);
     Vector7s extrinsics = (Vector7s()<<1,0,0, 0,0,0,1).finished();
-    SensorBasePtr sensor_ptr = problem->installSensor("IMU", "Main IMU", extrinsics,  wolf_root + "/src/examples/sensor_imu.yaml");
+    SensorBasePtr sensor_ptr = problem->installSensor("IMU", "Main IMU", extrinsics,  wolf_root + "/demos/sensor_imu.yaml");
     ProcessorParamsIMUPtr prc_imu_params = std::make_shared<ProcessorParamsIMU>();
     prc_imu_params->max_time_span = 1;
     prc_imu_params->max_buff_length = 1000000000; //make it very high so that this condition will not pass