diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6437de1dac5ff1db3d28ea88691c82c7cc6708aa..cf2de66baefb84f5e577b5fbdf3b6eb575036062 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -98,34 +98,6 @@ FIND_PACKAGE(Threads REQUIRED)
 
 FIND_PACKAGE(wolf REQUIRED)
 
-FIND_PACKAGE(YamlCpp REQUIRED)
-
-IF(YAMLCPP_FOUND)
-    MESSAGE("yaml-cpp Library FOUND!")
-ELSEIF(YAMLCPP_FOUND)
-    MESSAGE("yaml-cpp Library NOT FOUND!")
-ENDIF(YAMLCPP_FOUND)
-
-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_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/${PROJECT_NAME}/internal)
 
@@ -145,16 +117,10 @@ include_directories("${PROJECT_BINARY_DIR}/conf")
 
 #INCLUDES SECTION
 # ============EXAMPLE==================
-INCLUDE_DIRECTORIES(${EIGEN_INCLUDE_DIRS})
 INCLUDE_DIRECTORIES(${wolf_INCLUDE_DIRS})
 INCLUDE_DIRECTORIES(BEFORE "include")
-INCLUDE_DIRECTORIES(${YAMLCPP_INCLUDE_DIR})
-IF(Ceres_FOUND)
-    INCLUDE_DIRECTORIES(${CERES_INCLUDE_DIRS})
-ENDIF(Ceres_FOUND)
-
-
-
+message("MY INCLUDES ${wolf_INCLUDE_DIRS}")
+message("MY LIBS ${wolf_LIBRARIES}")
 
 #HEADERS
 
@@ -268,22 +234,15 @@ ADD_LIBRARY(${PLUGIN_NAME}
 # IF (Ceres_FOUND)
 #     TARGET_LINK_LIBRARIES(${PLUGIN_NAME} ${CERES_LIBRARIES})
 # ENDIF(Ceres_FOUND)
-TARGET_LINK_LIBRARIES(${PLUGIN_NAME} ${CMAKE_THREAD_LIBS_INIT})
-TARGET_LINK_LIBRARIES(${PLUGIN_NAME} ${wolf_LIBRARY})
-TARGET_LINK_LIBRARIES(${PLUGIN_NAME} ${YAMLCPP_LIBRARY})
-IF (GLOG_FOUND)
-    TARGET_LINK_LIBRARIES(${PLUGIN_NAME} ${GLOG_LIBRARY})
-ENDIF (GLOG_FOUND)
+TARGET_LINK_LIBRARIES(${PLUGIN_NAME} ${wolf_LIBRARIES})
 
 
 #Build tests
 #===============EXAMPLE=========================
-IF (GLOG_FOUND)
-    IF(BUILD_TESTS)
-        MESSAGE("Building tests.")
-        add_subdirectory(test)
-    ENDIF(BUILD_TESTS)
-ENDIF (GLOG_FOUND)
+IF(BUILD_TESTS)
+  MESSAGE("Building tests.")
+  add_subdirectory(test)
+ENDIF(BUILD_TESTS)
 
 #install library
 
diff --git a/cmake_modules/Findwolf.cmake b/cmake_modules/Findwolf.cmake
deleted file mode 100644
index 469f3372a9869fb66b9ffea159ec252b933ece18..0000000000000000000000000000000000000000
--- a/cmake_modules/Findwolf.cmake
+++ /dev/null
@@ -1,28 +0,0 @@
-#edit the following line to add the librarie's header files
-FIND_PATH(
-    wolf_INCLUDE_DIRS
-    NAMES wolf.found
-    PATHS /usr/local/include/iri-algorithms/wolf/plugin_core)
-#change INCLUDE_DIRS to its parent directory
-# get_filename_component(wolf_INCLUDE_DIRS ${wolf_INCLUDE_DIRS} DIRECTORY)
-MESSAGE("Found wolf include dirs: ${wolf_INCLUDE_DIRS}")
-
-FIND_LIBRARY(
-    wolf_LIBRARY
-    NAMES wolf
-    PATHS /usr/lib /usr/local/lib /usr/local/lib/iri-algorithms) 
-
-IF (wolf_INCLUDE_DIRS AND wolf_LIBRARY)
-   SET(wolf_FOUND TRUE)
-ENDIF (wolf_INCLUDE_DIRS AND wolf_LIBRARY)
-
-IF (wolf_FOUND)
-   IF (NOT wolf_FIND_QUIETLY)
-      MESSAGE(STATUS "Found wolf: ${wolf_LIBRARY}")
-   ENDIF (NOT wolf_FIND_QUIETLY)
-ELSE (wolf_FOUND)
-   IF (wolf_FIND_REQUIRED)
-      MESSAGE(FATAL_ERROR "Could not find wolf")
-   ENDIF (wolf_FIND_REQUIRED)
-ENDIF (wolf_FOUND)
-
diff --git a/cmake_modules/wolfIMUConfig.cmake b/cmake_modules/wolfIMUConfig.cmake
index ffe12f3b20e59e136f216af9d63a28c6fd11e2d0..fbf1da76c0e046f7f925509176a6ef17fbdc8995 100644
--- a/cmake_modules/wolfIMUConfig.cmake
+++ b/cmake_modules/wolfIMUConfig.cmake
@@ -62,4 +62,18 @@ if(NOT wolfIMU_FOUND)
   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
+set(wolfIMU_FOUND TRUE)
+
+# Now we gather all the required dependencies for Wolf IMU
+if(NOT wolf_FOUND)
+  FIND_PACKAGE(wolf REQUIRED)
+
+  #We reverse in order to insert at the start
+  list(REVERSE wolfIMU_INCLUDE_DIRS)
+  list(APPEND wolfIMU_INCLUDE_DIRS ${wolf_INCLUDE_DIRS})
+  list(REVERSE wolfIMU_INCLUDE_DIRS)
+
+  list(REVERSE wolfIMU_LIBRARIES)
+  list(APPEND wolfIMU_LIBRARIES ${wolf_LIBRARIES})
+  list(REVERSE wolfIMU_LIBRARIES)
+endif()