diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6386280f537dfd796ae8e5c90529762e0591bc81..4f6d43d2d4c233fef99abf227ec9c41e058f9c84 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -504,12 +504,11 @@ ADD_LIBRARY(${PROJECT_NAME}
   ${SRCS_WRAPPER}
   ${SRCS_YAML}
   )
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${CMAKE_THREAD_LIBS_INIT} dl)
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${YAMLCPP_LIBRARY})
 
 #Link the created libraries
 #=============================================================
 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${CMAKE_THREAD_LIBS_INIT} dl)
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${YAMLCPP_LIBRARY})
 IF (Ceres_FOUND)
     TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${CERES_LIBRARIES})
 ENDIF(Ceres_FOUND)
diff --git a/hello_wolf/factor_bearing.h b/hello_wolf/factor_bearing.h
index 56857fe0a188a5eb3ab30d8f4f6a967102f8b7d0..1b5ff40497096ac74f35024ce0b37b1c88076266 100644
--- a/hello_wolf/factor_bearing.h
+++ b/hello_wolf/factor_bearing.h
@@ -57,7 +57,7 @@ inline bool FactorBearing::operator ()(const T* const _p1, const T* const _o1,
 {
 
     // 1. produce a transformation matrix to transform from robot frame to world frame
-    Transform<T, 2, Affine> H_w_r = Translation<T,2>(_p1[0], _p1[1]) * Rotation2D<T>(*_o1) ; // Robot frame = robot-to-world transform
+    Transform<T, 2, Isometry> H_w_r = Translation<T,2>(_p1[0], _p1[1]) * Rotation2D<T>(*_o1) ; // Robot frame = robot-to-world transform
     // Map input pointers into meaningful Eigen elements
     Map<const Matrix<T, 2, 1>>      point_w(_p2);
     Map<const Matrix<T, 1, 1>>      res(_res);
diff --git a/hello_wolf/factor_range_bearing.h b/hello_wolf/factor_range_bearing.h
index c4a321badc8673aaa8c7ff57c61a90a987d5d831..ffe896f75932fb269068ad1210ad37350e62ce30 100644
--- a/hello_wolf/factor_range_bearing.h
+++ b/hello_wolf/factor_range_bearing.h
@@ -97,11 +97,11 @@ inline bool FactorRangeBearing::operator ()(const T* const _p_w_r, // robot posi
     Map<Matrix<T, 2, 1>>            res(_res);      // residual
 
     // 1. produce transformation matrices to transform from sensor frame --> to robot frame --> to world frame
-    Transform<T, 2, Affine> H_w_r = Translation<T,2>(_p_w_r[0], _p_w_r[1]) * Rotation2D<T>(*_o_w_r) ; // Robot  frame = robot-to-world transform
-    Transform<T, 2, Affine> H_r_s = Translation<T,2>(_p_r_s[0], _p_r_s[1]) * Rotation2D<T>(*_o_r_s) ; // Sensor frame = sensor-to-robot transform
+    Transform<T, 2, Isometry> H_w_r = Translation<T,2>(_p_w_r[0], _p_w_r[1]) * Rotation2D<T>(*_o_w_r) ; // Robot  frame = robot-to-world transform
+    Transform<T, 2, Isometry> H_r_s = Translation<T,2>(_p_r_s[0], _p_r_s[1]) * Rotation2D<T>(*_o_r_s) ; // Sensor frame = sensor-to-robot transform
 
     // 2. Transform world-referenced landmark point to sensor-referenced point
-    Transform<T, 2, Affine> H_w_s = H_w_r * H_r_s;  // world-to-sensor transform
+    Transform<T, 2, Isometry> H_w_s = H_w_r * H_r_s;  // world-to-sensor transform
     Matrix<T, 2, 1> lmk_s = H_w_s.inverse() * lmk;  // point in sensor frame
 
     // 3. Get the expected range-and-bearing of the point
diff --git a/hello_wolf/processor_range_bearing.h b/hello_wolf/processor_range_bearing.h
index 30b2bd8654a8bc8117f761e492f889fb44918a4a..00592e5d6053dc0e75292b077529c19cbdc1a00d 100644
--- a/hello_wolf/processor_range_bearing.h
+++ b/hello_wolf/processor_range_bearing.h
@@ -30,7 +30,7 @@ WOLF_PTR_TYPEDEFS(ProcessorRangeBearing);
 class ProcessorRangeBearing : public ProcessorBase
 {
     public:
-        typedef Eigen::Transform<Scalar, 2, Eigen::Affine> Trf;
+        typedef Eigen::Transform<Scalar, 2, Eigen::Isometry> Trf;
 
         ProcessorRangeBearing(const SensorRangeBearingPtr _sensor_ptr, ProcessorParamsBasePtr _params);
         virtual ~ProcessorRangeBearing() {/* empty */}
diff --git a/include/core/common/wolf.h b/include/core/common/wolf.h
index 872364392a3b86749d2a6cc1d6f984fb40770b7b..d3e9e1ef41788c1c94dd3759fe06524ca4e1930a 100644
--- a/include/core/common/wolf.h
+++ b/include/core/common/wolf.h
@@ -17,6 +17,7 @@
 #include <Eigen/Dense>
 #include <Eigen/Geometry>
 #include <Eigen/Sparse>
+
 #include <libgen.h>
 
 //includes from std lib
diff --git a/src/problem/problem.cpp b/src/problem/problem.cpp
index 62c035cf0c7adfc58f2a1ee8c23ac7483d5f0564..e2275154806978e8d8850d4f658eebc0f6e0d84e 100644
--- a/src/problem/problem.cpp
+++ b/src/problem/problem.cpp
@@ -205,7 +205,8 @@ ProcessorBasePtr Problem::installProcessor(const std::string& _prc_type, //
         throw std::runtime_error("Sensor not found. Cannot bind Processor.");
     ProcessorBasePtr prc_ptr = AutoConfProcessorFactory::get().create(uppercase(_prc_type), _unique_processor_name, _server, sen_ptr);
     prc_ptr->configure(sen_ptr);
-    sen_ptr->addProcessor(prc_ptr);
+    prc_ptr->link(sen_ptr);
+    // sen_ptr->addProcessor(prc_ptr);
 
     // setting the origin in all processor motion if origin already setted
     if (prc_ptr->isMotion() && prior_is_set_)
diff --git a/wolf_scripts/wolf_uninstall.sh b/wolf_scripts/wolf_uninstall.sh
new file mode 100755
index 0000000000000000000000000000000000000000..b381616ecf9c37423d5cd11e18bb3f5502cec641
--- /dev/null
+++ b/wolf_scripts/wolf_uninstall.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+echo “=”
+echo “====================== UNINSTALLING WOLF ======================”
+echo “=”
+
+echo "cd /usr/local/include/iri-algorithms/"
+cd /usr/local/include/iri-algorithms/
+echo "sudo rm -rf wolf"
+sudo rm -rf wolf
+
+echo "cd /usr/local/lib/iri-algorithms/"
+echo "sudo rm libwolf*.*"
+cd /usr/local/lib/iri-algorithms/
+sudo rm libwolf*.*
+
+echo "cd /usr/local/lib/cmake/"
+echo "sudo rm -rf wolf*"
+cd /usr/local/lib/cmake/
+sudo rm -rf wolf*
\ No newline at end of file