diff --git a/CMakeLists.txt b/CMakeLists.txt
index 00031fa6c91433552cb89264661db81a09f891da..9e9f94076dd42ed509c354097b04cc12bfc187ba 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -7,10 +7,5 @@ project (CORSIKA VERSION 8.0.0.0 DESCRIPTION "CORSIKA C++ project")
 find_package (Boost 1.40 COMPONENTS program_options REQUIRED)
 find_package (Eigen3 3.3 REQUIRED)
 
-# include_directories (${Boost_INCLUDE_DIR})
-# include_directories(${CMAKE_CURRENT_SOURCE_DIR})
-
-# ADD_EXECUTABLE( anyExecutable myMain.cpp )
-# TARGET_LINK_LIBRARIES( anyExecutable LINK_PUBLIC ${Boost_LIBRARIES} )
-
 add_subdirectory (Framework)
+add_subdirectory (Main)
diff --git a/Framework/Geometry/CMakeLists.txt b/Framework/Geometry/CMakeLists.txt
index 961ec9e74f493b8a0eb53ebb300f70e90e41424a..f34214f00ce7b6a7de0108c097c5f1f2386c3b9e 100644
--- a/Framework/Geometry/CMakeLists.txt
+++ b/Framework/Geometry/CMakeLists.txt
@@ -1,6 +1,6 @@
 
 set (GEOMETRY_SOURCES CoordinateSystem.cc)
-set (GEOMETRY_HEADERS Vector.h Point.h CoordinateSystem.h)
+set (GEOMETRY_HEADERS Vector.h Point.h Sphere.h CoordinateSystem.h)
 
 add_library (CORSIKAgeometry STATIC ${GEOMETRY_SOURCES})
 
@@ -9,8 +9,13 @@ set_target_properties (CORSIKAgeometry PROPERTIES SOVERSION 1)
 
 set_target_properties (CORSIKAgeometry PROPERTIES PUBLIC_HEADER "${GEOMETRY_HEADERS}")
 
-target_include_directories (CORSIKAgeometry PRIVATE ${EIGEN3_INCLUDE_DIR})
-target_include_directories (CORSIKAgeometry PRIVATE ${PROJECT_SOURCE_DIR}/Framework)
+target_link_libraries (CORSIKAgeometry CORSIKAunits)
+
+target_include_directories (CORSIKAgeometry PRIVATE   ${EIGEN3_INCLUDE_DIR})
+target_include_directories (CORSIKAgeometry INTERFACE ${EIGEN3_INCLUDE_DIR})
+target_include_directories (CORSIKAgeometry INTERFACE $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/Framework>
+                                                      $<INSTALL_INTERFACE:include/Framework>
+                                                      )
 
 install (TARGETS CORSIKAgeometry
          LIBRARY DESTINATION lib
diff --git a/Framework/Geometry/Sphere.h b/Framework/Geometry/Sphere.h
index 2a3ecf1af55c3099982504214dc6b328e23f3392..9755b74337433a2f420a62f6dd8d15839aa50941 100644
--- a/Framework/Geometry/Sphere.h
+++ b/Framework/Geometry/Sphere.h
@@ -1,8 +1,8 @@
-#ifndef SPHERE_H_
-#define SPHERE_H_
+#ifndef _include_SPHERE_H_
+#define _include_SPHERE_H_
 
-#include "Point.h"
-#include <phys/units/quantity.hpp>
+#include <Geometry/Point.h>
+#include <Units/units/quantity.hpp>
 
 class Sphere
 {
diff --git a/Framework/Units/CMakeLists.txt b/Framework/Units/CMakeLists.txt
index 1332be7da8d6dca47bebafa795e2b9cfd653809d..f402dcb7df26e0ab2baf92e334ee389f966270c2 100644
--- a/Framework/Units/CMakeLists.txt
+++ b/Framework/Units/CMakeLists.txt
@@ -1,4 +1,12 @@
 
+add_library (CORSIKAunits INTERFACE)
+
+target_include_directories (CORSIKAunits INTERFACE ${PROJECT_SOURCE_DIR}/Framework)
+
+target_include_directories (CORSIKAunits INTERFACE $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/Framework>
+                                                   $<INSTALL_INTERFACE:include/Framework>
+                                                   )
+
 install (FILES PhysicalUnits.h PhysicalConstants.h
          DESTINATION include/Units)
 
diff --git a/Main/CMakeLists.txt b/Main/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1d9f2eac43b2cf79d42d451b1676e1c71549ba7d
--- /dev/null
+++ b/Main/CMakeLists.txt
@@ -0,0 +1,7 @@
+
+
+add_executable (geometry_example geometry_example.cc)
+
+target_link_libraries (geometry_example CORSIKAgeometry CORSIKAunits)
+
+install (TARGETS geometry_example DESTINATION bin)
diff --git a/Main/geometry_example.cc b/Main/geometry_example.cc
index 8c057ed54d68fe9fdb73cf279c7e05c9adbdc47a..f0bd11f8715180708aea83a572f87b73d97d49e2 100644
--- a/Main/geometry_example.cc
+++ b/Main/geometry_example.cc
@@ -4,12 +4,13 @@
    -std=c++14 ../Main/geometry_example.cc \
    ../Framework/Geometry/CoordinateSystem.cc -o geometry_example
 */
-#include <Framework/Geometry/Vector.h>
-#include <Framework/Geometry/Sphere.h>
-#include <Framework/Geometry/Point.h>
-#include <Framework/Geometry/CoordinateSystem.h>
-#include <phys/units/quantity.hpp>
-#include <phys/units/io.hpp>
+
+#include <Geometry/Vector.h>
+#include <Geometry/Sphere.h>
+#include <Geometry/Point.h>
+#include <Geometry/CoordinateSystem.h>
+#include <Units/PhysicalUnits.h>
+
 #include <iostream>
 #include <cstdlib>