diff --git a/Findgnss_utils.cmake b/Findgnss_utils.cmake
index ab421e241cfd865f2cd40eccfebc7df1918999a5..4c0429fc6831b279bbeb005cdfcb976bf2dc2881 100644
--- a/Findgnss_utils.cmake
+++ b/Findgnss_utils.cmake
@@ -1,9 +1,9 @@
 #edit the following line to add the librarie's header files
-FIND_PATH(gnss_utils_INCLUDE_DIR observations.h navigation.h /usr/include/iridrivers /usr/local/lib)
+FIND_PATH(gnss_utils_INCLUDE_DIR observations.h navigation.h /usr/include/iridrivers /usr/local/include)
 
 FIND_LIBRARY(gnss_utils_LIBRARY
     NAMES gnss_utils
-    PATHS /usr/lib /usr/local/lib /usr/local/lib) 
+    PATHS /usr/lib /usr/local/lib)
 
 IF (gnss_utils_INCLUDE_DIR AND gnss_utils_LIBRARY)
    SET(gnss_utils_FOUND TRUE)
@@ -18,4 +18,3 @@ ELSE (gnss_utils_FOUND)
       MESSAGE(FATAL_ERROR "Could not find gnss_utils")
    ENDIF (gnss_utils_FIND_REQUIRED)
 ENDIF (gnss_utils_FOUND)
-
diff --git a/include/getPos.h b/include/gnss_utils/gnss_utils.h
similarity index 100%
rename from include/getPos.h
rename to include/gnss_utils/gnss_utils.h
diff --git a/include/navigation.h b/include/gnss_utils/navigation.h
similarity index 100%
rename from include/navigation.h
rename to include/gnss_utils/navigation.h
diff --git a/include/observations.h b/include/gnss_utils/observations.h
similarity index 100%
rename from include/observations.h
rename to include/gnss_utils/observations.h
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index e30d5c9acf7e8f969b5f4aee4c3043fc9fb6bf27..d6c0627251bdbc930749d617133da5333321a4f7 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -4,7 +4,7 @@ set(rtklib_src_dir ${rtklib_dir}/src)
 
 # driver source files
 SET(sources
-    getPos.cpp
+    gnss_utils.cpp
     observations.cpp
     navigation.cpp)
 
@@ -16,7 +16,7 @@ SET(rtklib_src
     ${rtklib_src_dir}/preceph.c
     ${rtklib_src_dir}/qzslex.c
     ${rtklib_src_dir}/rtcm.c
-    ${rtklib_src_dir}/rtcm2.c 
+    ${rtklib_src_dir}/rtcm2.c
     ${rtklib_src_dir}/rtcm3.c
     ${rtklib_src_dir}/rtcm3e.c
     ${rtklib_src_dir}/ionex.c
@@ -42,7 +42,7 @@ FIND_PACKAGE(Boost REQUIRED)
 link_directories(/usr/lib/x86_64-linux-gnu/)
 
 # Adding include directories
-INCLUDE_DIRECTORIES(. ${EIGEN3_INCLUDE_DIR} ${Boost_INCLUDE_DIRS} ${RTK_LIB_PATH})
+INCLUDE_DIRECTORIES(../include/ ${EIGEN3_INCLUDE_DIR} ${Boost_INCLUDE_DIRS} ${RTK_LIB_PATH})
 
 # create the shared library
 ADD_LIBRARY(gnss_utils SHARED ${sources} ${rtklib_src})
diff --git a/src/examples/gnss_utils_test.cpp b/src/examples/gnss_utils_test.cpp
index ad1074b97c4e0cb9df8fc5b8e437bcaabab15ed8..646299a5a2f51faa0bc12442f4d0d043127f2b58 100644
--- a/src/examples/gnss_utils_test.cpp
+++ b/src/examples/gnss_utils_test.cpp
@@ -1,5 +1,5 @@
-#include "../../include/observations.h"
-#include "../../include/navigation.h"
+#include "gnss_utils/observations.h"
+#include "gnss_utils/navigation.h"
 
 #include <typeinfo>
 
@@ -9,7 +9,7 @@
 
 extern "C"
 {
-    #include "/home/jlaplaza/RTKLIB/src/rinex.c"
+  #include "../deps/RTKLIB/src/rinex.c"
 }
 
 using namespace GNSSUtils;
@@ -24,7 +24,7 @@ int createObsAndNav(Observations* observations, char* obs_path,  Navigation* nav
   double te_d[] = {2018, 5, 17, 14, 42, 8};
   gtime_t te = epoch2time(te_d);
 
-  double tint = 0.1;  
+  double tint = 0.1;
 
   // Create options container
   char* opt = "-SYS=G";
@@ -51,25 +51,25 @@ int createObsAndNav(Observations* observations, char* obs_path,  Navigation* nav
     obs.data[1].P[0] = 22348322.550;
     obs.data[2].P[0] = 20873167.574;
     obs.data[3].P[0] = 20920707.830;
-    
+
     std::cout << "Obs number: " << obs.n << std::endl;
-    
-     
+
+
   }
-  
 
-  else 
+
+  else
   {
     std::cout << "Couldn't load provided observation file" << std::endl;
     return 0;
   }
-  
-  
+
+
 
   for (int i=0; i < obs.n; i++)
   {
-    std::cout << "time: " << time_str(obs.data[i].time, 3) <<  " | sat: " << int(obs.data[i].sat) << " | rcv: " << obs.data[i].rcv << 
-               " | SNR: " << obs.data[i].SNR[0] << " | LLI: " << obs.data[i].LLI[0] << " | code: " << obs.data[i].code[0] << 
+    std::cout << "time: " << time_str(obs.data[i].time, 3) <<  " | sat: " << int(obs.data[i].sat) << " | rcv: " << obs.data[i].rcv <<
+               " | SNR: " << obs.data[i].SNR[0] << " | LLI: " << obs.data[i].LLI[0] << " | code: " << obs.data[i].code[0] <<
                  " | L: " << obs.data[i].L[0] <<  " | P: " << obs.data[i].P[0] << " | D: " << obs.data[i].D[0] << std::endl;
     observations->pushObservation(obs.data[i]);
   }
@@ -92,17 +92,17 @@ int createObsAndNav(Observations* observations, char* obs_path,  Navigation* nav
     std::cout << "GLONASS satellites in navigation file: " << nav.ng << std::endl;
     std::cout << "SBAS satellites in navigation file: " << nav.ns << std::endl;
     std::cout << "Almanac satellites in navigation file: " << nav.na << std::endl;
-    uniqnav(&nav);   
+    uniqnav(&nav);
   }
-  
 
-  else 
+
+  else
   {
     std::cout << "Couldn't load provided navigation file" << std::endl;
     return 0;
   }
 
-  
+
   /* Print Constellation Satellites ids */
   for (int i=0;i<nav.n;i++)
   {
@@ -118,7 +118,7 @@ int createObsAndNav(Observations* observations, char* obs_path,  Navigation* nav
   {
     std::cout <<  i << " SBAS Sat Id: " << nav.seph[i].sat << std::endl;
   }
-  
+
 
   /* Load nav into Navigation object*/
   navigation->setNavigation(nav);
@@ -141,12 +141,12 @@ int main(int argc, char *argv[])
 
 
   // create Observations object
-  Observations observations; 
+  Observations observations;
 
   // create Navigation object
   Navigation navigation;
 
-  createObsAndNav(&observations, "/home/jlaplaza/gitlab/gnss_utils/src/examples/raw_201805171357.obs", &navigation, "/home/jlaplaza/gitlab/gnss_utils/src/examples/raw_201805171357.nav");
+  createObsAndNav(&observations, "../examples/raw_201805171357.obs", &navigation, "../examples/raw_201805171357.nav");
 
   nav_t nav = navigation.getNavigation();
 
@@ -158,8 +158,8 @@ int main(int argc, char *argv[])
   std::cout << "------------------" << std::endl;
   std::cout << "Processing options" << std::endl;
   std::cout << "------------------" << std::endl;
-  
-  prcopt_t prcopt = prcopt_default;  
+
+  prcopt_t prcopt = prcopt_default;
   prcopt.mode = PMODE_SINGLE;
   prcopt.soltype = 0;
   prcopt.nf = 1;
@@ -176,8 +176,8 @@ int main(int argc, char *argv[])
   prcopt.ru[2] = 4194542.6444;
 
   std::cout << "Processing options defined" << std::endl;
-  
-  
+
+
   //Compute spp
 
   /* header */
@@ -195,13 +195,13 @@ int main(int argc, char *argv[])
 
   for (int i=0; i < obs.size(); i++)
   {
-    std::cout << "time: " << time_str(obs[i].time, 3) <<  " | sat: " << int(obs[i].sat) << " | rcv: " << obs[i].rcv << 
-               " | SNR: " << obs[i].SNR[0] << " | LLI: " << obs[i].LLI[0] << " | code: " << obs[i].code[0] << 
+    std::cout << "time: " << time_str(obs[i].time, 3) <<  " | sat: " << int(obs[i].sat) << " | rcv: " << obs[i].rcv <<
+               " | SNR: " << obs[i].SNR[0] << " | LLI: " << obs[i].LLI[0] << " | code: " << obs[i].code[0] <<
                  " | L: " << obs[i].L[0] <<  " | P: " << obs[i].P[0] << " | D: " << obs[i].D[0] << std::endl;
   }
 
   std::cout << "obs.size(): " << obs.size() << std::endl;
-  
+
   stat = pntpos(&obs[0], obs.size(), &nav, &prcopt, &solb, NULL, NULL, msg);
 
   std::cout << "msg: " << msg << std::endl;
diff --git a/src/getPos.cpp b/src/gnss_utils.cpp
similarity index 91%
rename from src/getPos.cpp
rename to src/gnss_utils.cpp
index e250bb05c9d9bbbbab60b7f9586fb6690fb0ec1d..192710aa89533d1fd448567b32e71c100a44ca63 100644
--- a/src/getPos.cpp
+++ b/src/gnss_utils.cpp
@@ -1,4 +1,4 @@
-#include "../include/getPos.h"
+#include "gnss_utils/gnss_utils.h"
 
 using namespace GNSSUtils;
 
@@ -11,7 +11,7 @@ static int getPos(Observations observations, Navigation navigation, sol_t sol)
   nav_t nav = navigation.getNavigation();
 
   // Define processing options
-  prcopt_t prcopt = prcopt_default;  
+  prcopt_t prcopt = prcopt_default;
   prcopt.mode = PMODE_SINGLE;
   prcopt.soltype = 0;
   prcopt.nf = 1;
@@ -29,9 +29,8 @@ static int getPos(Observations observations, Navigation navigation, sol_t sol)
 
   // Define error msg
   char msg[128]="";
-  
+
   int stat = pntpos(&(obs[0]), obs.size(), &nav, &prcopt, &solb, NULL, NULL, msg);
 
   return stat;
 }
-
diff --git a/src/navigation.cpp b/src/navigation.cpp
index 72ae9658fa9bad0e32e939ba84ba8c4753ea0dd1..edb0c55334de7c691ae35f25f72fe98ace63263e 100644
--- a/src/navigation.cpp
+++ b/src/navigation.cpp
@@ -1,4 +1,4 @@
-#include "../include/navigation.h"
+#include "gnss_utils/navigation.h"
 
 
 using namespace GNSSUtils;
diff --git a/src/observations.cpp b/src/observations.cpp
index ddd321c0dcaa9ef3f2e219dbbc13b7135ab0c31f..75d05f150c9f5cb82d37f6e1dd360afd1fa54502 100644
--- a/src/observations.cpp
+++ b/src/observations.cpp
@@ -1,4 +1,4 @@
-#include "../include/observations.h"
+#include "gnss_utils/observations.h"
 
 using namespace GNSSUtils;
 
@@ -27,9 +27,3 @@ std::vector<obsd_t> Observations::getObservations()
 {
   return this->_obsVector;
 }
-
-
-
-
-
-