diff --git a/CMakeLists.txt b/CMakeLists.txt
index 26e07801dedb4ad9366e4251a1ff1721bb2e591a..2cc28cfef900daa32b8218a4aa0c42edda324f4a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,6 @@
 
 # Pre-requisites about cmake itself
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
 
 if(COMMAND cmake_policy)
   cmake_policy(SET CMP0005 NEW) 
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 52c93b5557f1f7e7dfbff40526e3a7516415793d..d787d5dfff365c3dea62442e89764caea5246ea7 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -10,9 +10,14 @@ IF(faramotics_FOUND)
     MESSAGE("Faramotics Library FOUND: Tests requiring it will be built.")
 ENDIF(faramotics_FOUND)
 
+FIND_PACKAGE(Eigen3 3.3 REQUIRED)
 FIND_PACKAGE(csm QUIET)
+
 #include directories
-INCLUDE_DIRECTORIES(.)
+INCLUDE_DIRECTORIES(. /usr/local/include)
+IF(Eigen3_FOUND)
+    INCLUDE_DIRECTORIES(${EIGEN3_INCLUDE_DIRS})
+ENDIF(Eigen3_FOUND)
 IF(csm_FOUND)
     INCLUDE_DIRECTORIES(${csm_INCLUDE_DIR})
 ENDIF(csm_FOUND)
diff --git a/src/grid_2d.h b/src/grid_2d.h
index 2176f6ddbad7ccc940f4e8c873cac4ffd523185a..ba448e8810d875c670a88ca9c87c0c5a4e168b33 100644
--- a/src/grid_2d.h
+++ b/src/grid_2d.h
@@ -8,8 +8,8 @@
 #include "grid_cluster.h"
 
 //Eigen includes
-#include <eigen3/Eigen/Dense>
-#include <eigen3/Eigen/Geometry>
+#include <Eigen/Dense>
+#include <Eigen/Geometry>
 
 //std
 #include <vector>
diff --git a/src/laser_scan_utils.h b/src/laser_scan_utils.h
index 4ba571945b71b5bbdf114bac11f6a0588c5d5ad5..4c0e7de265ae8a356bfe3d695d52b6ed84557367 100644
--- a/src/laser_scan_utils.h
+++ b/src/laser_scan_utils.h
@@ -3,9 +3,9 @@
 #define TYPES_LASER_SCAN_UTILS_H_
 
 //includes from Eigen lib
-#include <eigen3/Eigen/Dense>
-#include <eigen3/Eigen/Geometry>
-#include <eigen3/Eigen/Sparse>
+#include <Eigen/Dense>
+#include <Eigen/Geometry>
+#include <Eigen/Sparse>
 
 //namespace laserscanutils;