diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5339115fc0cfdfbc5216b311cacdc92727193309..c8cd05e2b2a85f9dead07359398168734e50b7aa 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,7 +2,7 @@ PROJECT(Simox)
 
 cmake_minimum_required(VERSION 2.6)
 if(NOT ("${CMAKE_VERSION}" VERSION_LESS 2.8.12))
-	cmake_policy(SET CMP0022 OLD) # avoid INTERFACE_LINK_LIBRARIES warninss
+	cmake_policy(SET CMP0022 OLD) # avoid INTERFACE_LINK_LIBRARIES warnings
 ENDIF()
 
 MESSAGE(STATUS "******************** Configuring Simox ************************")
@@ -15,16 +15,23 @@ set (Simox_BUILD_SimDynamics FALSE CACHE BOOL "Build Dynamic Simulation")
 INCLUDE (config.cmake)
 
 
-MESSAGE(STATUS "\n** SETTING Simox target directory to: ${Simox_BUILD_DIRECTORY}")
+MESSAGE(STATUS "** Simox build directory: ${Simox_BUILD_DIRECTORY}")
 add_subdirectory(VirtualRobot)
+set (SIMOX_EXPORT_TARGET_LIST VirtualRobot)
+list(APPEND SIMOX_EXPORT_TARGET_LIST ColCheckerPQP)
 if (Simox_BUILD_Saba)
     add_subdirectory(MotionPlanning)
+    list(APPEND SIMOX_EXPORT_TARGET_LIST Saba)
 endif()
 if (Simox_BUILD_GraspStudio)
     add_subdirectory(GraspPlanning)
+    list(APPEND SIMOX_EXPORT_TARGET_LIST GraspStudio)
+    list(APPEND SIMOX_EXPORT_TARGET_LIST qhull)
+    list(APPEND SIMOX_EXPORT_TARGET_LIST powercrust)
 endif()
 if (Simox_BUILD_SimDynamics)
     add_subdirectory(SimDynamics)
+    list(APPEND SIMOX_EXPORT_TARGET_LIST SimDynamics)
 endif()
 add_subdirectory(doc)
 
@@ -34,110 +41,55 @@ add_subdirectory(doc)
 #######################################################################
 
 ############################################
-MESSAGE (STATUS "\n ***** Simox: Generating CMake files for build and install setup")
+MESSAGE (STATUS "** Simox: Generating CMake files for build and install setup")
 
-set(Simox_LIBRARIES VirtualRobot Saba GraspStudio)
-if (Simox_BUILD_SimDynamics)
-	set(Simox_LIBRARIES "Simox_LIBRARIES" "SimDynamics")
-endif()
-set(Simox_EXECUTABLES "")
 
+# Add all targets to the build-tree export set
+
+export(TARGETS ${SIMOX_EXPORT_TARGET_LIST}
+  FILE "${PROJECT_BINARY_DIR}/SimoxTargets.cmake")
+ 
 # Export the package for use from the build-tree
 # (this registers the build-tree with a global CMake-registry)
-EXPORT(PACKAGE Simox)
-
-# import Virtual-Robot configs (build)
-SET (VirtualRobot_CONFIG_INBUILD "${Simox_BUILD_DIRECTORY}/share/VirtualRobot/cmake/VirtualRobotConfig.cmake")
-SET (VirtualRobot_CONFIG_INSTALL_LOCAL "${Simox_BUILD_DIRECTORY}/InstallFiles/VirtualRobotConfig.cmake")
-#MESSAGE ("VirtualRobot_CONFIG_INBUILD = ${VirtualRobot_CONFIG_INBUILD}")
-#MESSAGE ("VirtualRobot_CONFIG_INSTALL_LOCAL = ${VirtualRobot_CONFIG_INSTALL_LOCAL}")
-include ("${VirtualRobot_CONFIG_INBUILD}")
-
-# Create an SimoxConfig.cmake file for the use from the build tree
-SET(Simox_LIBRARIES_ALL "${VirtualRobot_LIBRARIES}" "Saba" "GraspStudio")
-if (Simox_BUILD_SimDynamics)
-	SET(Simox_LIBRARIES_ALL "${Simox_LIBRARIES_ALL}" "SimDynamics" "${SimDynamics_EXTERNAL_LIBRARIES}")
-	#MESSAGE ("Simox_LIBRARIES_ALL: ${Simox_LIBRARIES_ALL}")
-	#MESSAGE ("SimDynamics_PHYSICS_LIBRARIES: ${SimDynamics_PHYSICS_LIBRARIES}")
-	#MESSAGE ("SABA_INCLUDE_DIRS: ${SABA_INCLUDE_DIRS}")
-
-endif()
-SET(Simox_BASE_DIR "${PROJECT_SOURCE_DIR}")
-SET(Simox_INCLUDE_DIRS "${VirtualRobot_INCLUDE_DIRS}" "${GRASP_STUDIO_INCLUDE_DIRS}" "${SABA_INCLUDE_DIRS}" "${SIMDYNAMICS_INCLUDE_DIRS}")
-	#MESSAGE ("VirtualRobot_INCLUDE_DIRS: ${VirtualRobot_INCLUDE_DIRS}")
-	#MESSAGE ("Simox_INCLUDE_DIRS: ${Simox_INCLUDE_DIRS}")
-	#MESSAGE ("Simox_LIBRARIES_ALL: ${Simox_LIBRARIES_ALL}")
-SET(Simox_LIB_DIRS "${VirtualRobot_LIBRARY_DIRS}" "${GRASP_STUDIO_LIBRARY_DIRS}" "${SABA_LIBRARY_DIRS}" "${SIMDYNAMICS_LIBRARY_DIRS}")
-	#MESSAGE ("Simox_LIB_DIRS: ${Simox_LIB_DIRS}")
-SET(Simox_LIB_FLAGS "${VirtualRobot_COMPILE_FLAGS} ${GRASP_STUDIO_COMPILE_FLAGS} ${SABA_COMPILE_FLAGS} ${SIMDYNAMICS_COMPILE_FLAGS}")
-	#MESSAGE ("Simox_LIB_FLAGS: ${Simox_LIB_FLAGS}")
-SET(Simox_CMAKE_DIR "${Simox_BUILD_DIRECTORY}/share/Simox/cmake")
-SET(VirtualRobot_CMAKE_DIR "${Simox_BUILD_DIRECTORY}/share/VirtualRobot/cmake")
-SET(Simox_LIBRARY_CMAKE_INCLUDE "${VirtualRobot_CMAKE_INCLUDE}")
-SET(Simox_DATA_PATH "${VirtualRobot_DATA_PATH}")
-
-# the SimoxConfig.cmake will be used by external porjects to setup Simox via the FindPackage method.
-# So it must be located in the Simox_DIR directory (build-tree -> Simox_BUILD_DIRECTORY)
-configure_file(
-    ${PROJECT_SOURCE_DIR}/CMakeModules/SimoxConfig.cmake.in
-    "${Simox_BUILD_DIRECTORY}/share/Simox/cmake/SimoxConfig.cmake"
-    @ONLY)
-
-configure_file(
-    ${PROJECT_SOURCE_DIR}/CMakeModules/SimoxConfigVersion.cmake.in
-    "${Simox_BUILD_DIRECTORY}/share/Simox/cmake/SimoxConfigVersion.cmake"
-    @ONLY)
-
-configure_file("${PROJECT_SOURCE_DIR}/CMakeModules/SimoxExternalLibrarySetup.cmake"
-    "${Simox_BUILD_DIRECTORY}/share/Simox/cmake/SimoxExternalLibrarySetup.cmake" COPYONLY)
-configure_file("${PROJECT_SOURCE_DIR}/CMakeModules/SimoxMacros.cmake"
-    "${Simox_BUILD_DIRECTORY}/share/Simox/cmake/SimoxMacros.cmake" COPYONLY)
-#configure_file("${PROJECT_SOURCE_DIR}/CMakeModules/FindSimox.cmake"
-#    "${Simox_BUILD_DIRECTORY}/share/Simox/cmake/FindSimox.cmake" COPYONLY)
+export(PACKAGE Simox)
  
-# Create an SimoxConfig.cmake file for the use from the install tree
-# and install it
-
-# import Virtual-Robot configs (install)
-# do not include files from install tree here (the files are not installed yet. So include them manually from inbuild)
-SET (VirtualRobot_DISABLE_DEPENDENCIES_INCLUDE TRUE)
-include ("${VirtualRobot_CONFIG_INSTALL_LOCAL}")
-include(${PROJECT_SOURCE_DIR}/VirtualRobot/CMakeModules/VirtualRobotExternalLibrarySetup.cmake)
-include(${PROJECT_SOURCE_DIR}/VirtualRobot/CMakeModules/VirtualRobotMacros.cmake)
-
-SET(Simox_INCLUDE_DIRS "${VirtualRobot_INCLUDE_DIRS}" "${GRASP_STUDIO_INCLUDE_DIRS}" "${SABA_INCLUDE_DIRS}" "${SIMDYNAMICS_INCLUDE_DIRS}")
-SET(Simox_LIB_DIRS "${VirtualRobot_LIBRARY_DIRS}" "${GRASP_STUDIO_LIBRARY_DIRS}" "${SABA_LIBRARY_DIRS}" "${SIMDYNAMICS_LIBRARY_DIRS}")
-SET(Simox_LIB_FLAGS "${VirtualRobot_COMPILE_FLAGS} ${GRASP_STUDIO_COMPILE_FLAGS} ${SABA_COMPILE_FLAGS} ${SIMDYNAMICS_COMPILE_FLAGS}")
-SET(Simox_BASE_DIR "${CMAKE_INSTALL_PREFIX}/include")
-SET(Simox_CMAKE_DIR "${CMAKE_INSTALL_PREFIX}/share/Simox/cmake")
-SET(VirtualRobot_CMAKE_DIR "${CMAKE_INSTALL_PREFIX}/share/VirtualRobot/cmake")
-SET(Simox_DATA_PATH "${CMAKE_INSTALL_PREFIX}/data")
-configure_file(
-    ${PROJECT_SOURCE_DIR}/CMakeModules/SimoxConfig.cmake.in
-    "${Simox_BUILD_DIRECTORY}/InstallFiles/SimoxConfig.cmake"
-    @ONLY)
-configure_file(
-    ${PROJECT_SOURCE_DIR}/CMakeModules/SimoxConfigVersion.cmake.in
-    "${Simox_BUILD_DIRECTORY}/InstallFiles/SimoxConfigVersion.cmake"
-    @ONLY)
-# The SimoxConfig.cmake will be used by external projects to setup Simox via the FindPackage method.
-# So it must be located in the Simox_DIR directory (install-tree -> CMAKE_INSTALL_PREFIX)
-# changed from DESTINATION "${CMAKE_INSTALL_PREFIX}" to "${Simox_CMAKE_DIR}"
+# Create the SimoxConfig.cmake and SimoxVersion files
+file(RELATIVE_PATH REL_INCLUDE_DIR "${INSTALL_CMAKE_DIR}"
+   "${INSTALL_INCLUDE_DIR}")
+# ... for the build tree
+set(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}" "${PROJECT_BINARY_DIR}")
+set (Simox_DATA_PATH ${Simox_DATA_DIR})
+set (Simox_MACROS_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/CMakeModules")
+configure_file(CMakeModules/SimoxConfig.cmake.in
+  "${PROJECT_BINARY_DIR}/SimoxConfig.cmake" @ONLY)
+# ... for the install tree
+set(CONF_INCLUDE_DIRS "\${Simox_CMAKE_DIR}/${REL_INCLUDE_DIR}")
+set (Simox_DATA_PATH ${Simox_INSTALL_DATA_DIR})
+set (Simox_MACROS_INCLUDE_DIR "\${Simox_CMAKE_DIR}")
+configure_file(CMakeModules/SimoxConfig.cmake.in
+  "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/SimoxConfig.cmake" @ONLY)
+# ... for both
+configure_file(CMakeModules/SimoxConfigVersion.cmake.in
+  "${PROJECT_BINARY_DIR}/SimoxConfigVersion.cmake" @ONLY)
+ 
+# Install the SimoxConfig.cmake and SimoxConfigVersion.cmake
 install(FILES
-    "${Simox_BUILD_DIRECTORY}/InstallFiles/SimoxConfig.cmake"
-    "${Simox_BUILD_DIRECTORY}/InstallFiles/SimoxConfigVersion.cmake"
-    DESTINATION "${Simox_CMAKE_DIR}"
-    COMPONENT ApplicationData
-    )
-#removed "${PROJECT_SOURCE_DIR}/CMakeModules/FindSimox.cmake"
-
+  "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/SimoxConfig.cmake"
+  "${PROJECT_BINARY_DIR}/SimoxConfigVersion.cmake"
+  DESTINATION "${INSTALL_CMAKE_DIR}" COMPONENT dev)
+ 
 install(FILES
-    "${PROJECT_SOURCE_DIR}/CMakeModules/SimoxExternalLibrarySetup.cmake"
     "${PROJECT_SOURCE_DIR}/CMakeModules/SimoxMacros.cmake"
-    DESTINATION "${Simox_CMAKE_DIR}"
+    DESTINATION "${INSTALL_CMAKE_DIR}"
     COMPONENT ApplicationData
     )
 
+ 
+# Install the export set for use with the install-tree
+install(EXPORT SimoxTargets DESTINATION
+  "${INSTALL_CMAKE_DIR}" COMPONENT dev)
+
+
 #############################################################
 # PACKAGING (DEB)
 
diff --git a/VirtualRobot/CMakeModules/FindCoin3D.cmake b/CMakeModules/FindCoin3D.cmake
similarity index 97%
rename from VirtualRobot/CMakeModules/FindCoin3D.cmake
rename to CMakeModules/FindCoin3D.cmake
index 69a99d880a8a259c7dd8f5abf331462502b7e27b..4db8d9f168471e7e6c09f94deb8a3fc2222244c1 100644
--- a/VirtualRobot/CMakeModules/FindCoin3D.cmake
+++ b/CMakeModules/FindCoin3D.cmake
@@ -1,94 +1,94 @@
-# - Find Coin3D (Open Inventor)
-# Coin3D is an implementation of the Open Inventor API.
-# It provides data structures and algorithms for 3D visualization
-# http://www.coin3d.org/
-#
-# This module defines the following variables
-#  COIN3D_FOUND         - system has Coin3D - Open Inventor
-#  COIN3D_INCLUDE_DIRS  - where the Inventor include directory can be found
-#  COIN3D_LIBRARIES     - Link to this to use Coin3D
-#
-# The Coin directory can be defined by the environment variable <Coin3D_DIR>
-
-#=============================================================================
-# Copyright 2008-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-IF (WIN32)
-  IF (CYGWIN)
-
-    FIND_PATH(COIN3D_INCLUDE_DIRS Inventor/So.h)
-    FIND_LIBRARY(COIN3D_LIBRARIES Coin)
-
-  ELSE (CYGWIN)
-
-    FIND_PATH(COIN3D_INCLUDE_DIRS Inventor/So.h
-      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\Coin3D\\2;Installation Path]/include"
-      $ENV{Coin3D_DIR}/include
-      $ENV{COINDIR}/include
-    )
-
-    FIND_LIBRARY(COIN3D_LIBRARY_DEBUG coin3d
-      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\Coin3D\\2;Installation Path]/lib"
-      $ENV{Coin3D_DIR}/lib
-      $ENV{COINDIR}/lib
-    )
-
-    FIND_LIBRARY(COIN3D_LIBRARY_RELEASE coin3
-      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\Coin3D\\2;Installation Path]/lib"
-      $ENV{Coin3D_DIR}/lib
-      $ENV{COINDIR}/lib
-    )
-
-    IF (COIN3D_LIBRARY_DEBUG AND COIN3D_LIBRARY_RELEASE)
-      SET(COIN3D_LIBRARIES optimized ${COIN3D_LIBRARY_RELEASE}
-                           debug ${COIN3D_LIBRARY_DEBUG})
-    ELSE (COIN3D_LIBRARY_DEBUG AND COIN3D_LIBRARY_RELEASE)
-      IF (COIN3D_LIBRARY_DEBUG)
-        SET (COIN3D_LIBRARIES ${COIN3D_LIBRARY_DEBUG})
-      ENDIF (COIN3D_LIBRARY_DEBUG)
-      IF (COIN3D_LIBRARY_RELEASE)
-        SET (COIN3D_LIBRARIES ${COIN3D_LIBRARY_RELEASE})
-      ENDIF (COIN3D_LIBRARY_RELEASE)
-    ENDIF (COIN3D_LIBRARY_DEBUG AND COIN3D_LIBRARY_RELEASE)
-
-  ENDIF (CYGWIN)
-
-ELSE (WIN32)
-  IF(APPLE)
-    FIND_PATH(COIN3D_INCLUDE_DIRS Inventor/So.h
-     /Library/Frameworks/Inventor.framework/Headers 
-    )
-    FIND_LIBRARY(COIN3D_LIBRARIES Coin
-      /Library/Frameworks/Inventor.framework/Libraries
-    )   
-    SET(COIN3D_LIBRARIES "-framework Coin3d" CACHE STRING "Coin3D library for OSX")
-  ELSE(APPLE)
-
-    find_path( COIN3D_INCLUDE_DIRS NAMES Inventor/So.h PATHS $ENV{Coin3D_DIR}/include /usr/include /usr/local/include NO_DEFAULT_PATH )
-    find_library( COIN3D_LIBRARIES  NAMES Coin PATHS $ENV{Coin3D_DIR}/lib /usr/lib /usr/local/lib NO_DEFAULT_PATH )
-#FIND_PATH(COIN3D_INCLUDE_DIRS Inventor/So.h $ENV{COIN3D_DIR}/include)
-#FIND_LIBRARY(COIN3D_LIBRARIES Coin $ENV{COIN3D_DIR}/lib)   
-
-  ENDIF(APPLE)
-
-ENDIF (WIN32)
-
-# handle the QUIETLY and REQUIRED arguments and set COIN3D_FOUND to TRUE if 
-# all listed variables are TRUE
-#INCLUDE("${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake")
-INCLUDE( FindPackageHandleStandardArgs )
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Coin3D DEFAULT_MSG COIN3D_LIBRARIES COIN3D_INCLUDE_DIRS)
-
-MARK_AS_ADVANCED(COIN3D_INCLUDE_DIRS COIN3D_LIBRARIES )
-
-
+# - Find Coin3D (Open Inventor)
+# Coin3D is an implementation of the Open Inventor API.
+# It provides data structures and algorithms for 3D visualization
+# http://www.coin3d.org/
+#
+# This module defines the following variables
+#  COIN3D_FOUND         - system has Coin3D - Open Inventor
+#  COIN3D_INCLUDE_DIRS  - where the Inventor include directory can be found
+#  COIN3D_LIBRARIES     - Link to this to use Coin3D
+#
+# The Coin directory can be defined by the environment variable <Coin3D_DIR>
+
+#=============================================================================
+# Copyright 2008-2009 Kitware, Inc.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+#  License text for the above reference.)
+
+IF (WIN32)
+  IF (CYGWIN)
+
+    FIND_PATH(COIN3D_INCLUDE_DIRS Inventor/So.h)
+    FIND_LIBRARY(COIN3D_LIBRARIES Coin)
+
+  ELSE (CYGWIN)
+
+    FIND_PATH(COIN3D_INCLUDE_DIRS Inventor/So.h
+      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\Coin3D\\2;Installation Path]/include"
+      $ENV{Coin3D_DIR}/include
+      $ENV{COINDIR}/include
+    )
+
+    FIND_LIBRARY(COIN3D_LIBRARY_DEBUG coin3d
+      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\Coin3D\\2;Installation Path]/lib"
+      $ENV{Coin3D_DIR}/lib
+      $ENV{COINDIR}/lib
+    )
+
+    FIND_LIBRARY(COIN3D_LIBRARY_RELEASE coin3
+      "[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\Coin3D\\2;Installation Path]/lib"
+      $ENV{Coin3D_DIR}/lib
+      $ENV{COINDIR}/lib
+    )
+
+    IF (COIN3D_LIBRARY_DEBUG AND COIN3D_LIBRARY_RELEASE)
+      SET(COIN3D_LIBRARIES optimized ${COIN3D_LIBRARY_RELEASE}
+                           debug ${COIN3D_LIBRARY_DEBUG})
+    ELSE (COIN3D_LIBRARY_DEBUG AND COIN3D_LIBRARY_RELEASE)
+      IF (COIN3D_LIBRARY_DEBUG)
+        SET (COIN3D_LIBRARIES ${COIN3D_LIBRARY_DEBUG})
+      ENDIF (COIN3D_LIBRARY_DEBUG)
+      IF (COIN3D_LIBRARY_RELEASE)
+        SET (COIN3D_LIBRARIES ${COIN3D_LIBRARY_RELEASE})
+      ENDIF (COIN3D_LIBRARY_RELEASE)
+    ENDIF (COIN3D_LIBRARY_DEBUG AND COIN3D_LIBRARY_RELEASE)
+
+  ENDIF (CYGWIN)
+
+ELSE (WIN32)
+  IF(APPLE)
+    FIND_PATH(COIN3D_INCLUDE_DIRS Inventor/So.h
+     /Library/Frameworks/Inventor.framework/Headers 
+    )
+    FIND_LIBRARY(COIN3D_LIBRARIES Coin
+      /Library/Frameworks/Inventor.framework/Libraries
+    )   
+    SET(COIN3D_LIBRARIES "-framework Coin3d" CACHE STRING "Coin3D library for OSX")
+  ELSE(APPLE)
+
+    find_path( COIN3D_INCLUDE_DIRS NAMES Inventor/So.h PATHS $ENV{Coin3D_DIR}/include /usr/include /usr/local/include NO_DEFAULT_PATH )
+    find_library( COIN3D_LIBRARIES  NAMES Coin PATHS $ENV{Coin3D_DIR}/lib /usr/lib /usr/local/lib NO_DEFAULT_PATH )
+#FIND_PATH(COIN3D_INCLUDE_DIRS Inventor/So.h $ENV{COIN3D_DIR}/include)
+#FIND_LIBRARY(COIN3D_LIBRARIES Coin $ENV{COIN3D_DIR}/lib)   
+
+  ENDIF(APPLE)
+
+ENDIF (WIN32)
+
+# handle the QUIETLY and REQUIRED arguments and set COIN3D_FOUND to TRUE if 
+# all listed variables are TRUE
+#INCLUDE("${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake")
+INCLUDE( FindPackageHandleStandardArgs )
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Coin3D DEFAULT_MSG COIN3D_LIBRARIES COIN3D_INCLUDE_DIRS)
+
+MARK_AS_ADVANCED(COIN3D_INCLUDE_DIRS COIN3D_LIBRARIES )
+
+
diff --git a/VirtualRobot/CMakeModules/FindEigen3.cmake b/CMakeModules/FindEigen3.cmake
similarity index 97%
rename from VirtualRobot/CMakeModules/FindEigen3.cmake
rename to CMakeModules/FindEigen3.cmake
index b5de7e8d866d963ca201ba85dcf766c739a8aa9e..212cae3793d5808095337def8ee890269ce9f7e0 100644
--- a/VirtualRobot/CMakeModules/FindEigen3.cmake
+++ b/CMakeModules/FindEigen3.cmake
@@ -1,86 +1,86 @@
-# - Try to find Eigen3 lib
-#
-# This module supports requiring a minimum version, e.g. you can do
-#   find_package(Eigen3 3.1.2)
-# to require version 3.1.2 or newer of Eigen3.
-#
-# Once done this will define
-#
-#  Eigen3_FOUND - system has eigen lib with correct version
-#  Eigen3_INCLUDE_DIR - the eigen include directory
-#  Eigen3_VERSION - eigen version
-
-# Copyright (c) 2006, 2007 Montel Laurent, <montel@kde.org>
-# Copyright (c) 2008, 2009 Gael Guennebaud, <g.gael@free.fr>
-# Copyright (c) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
-# Copyright (c) 2011 Manfred Kroehnert <Manfred.Kroehnert@kit.edu> "No all uppercase variable names"
-# Redistribution and use is allowed according to the terms of the 2-clause BSD license.
-
-if(NOT Eigen3_FIND_VERSION)
-  if(NOT Eigen3_FIND_VERSION_MAJOR)
-    set(Eigen3_FIND_VERSION_MAJOR 2)
-  endif(NOT Eigen3_FIND_VERSION_MAJOR)
-  if(NOT Eigen3_FIND_VERSION_MINOR)
-    set(Eigen3_FIND_VERSION_MINOR 91)
-  endif(NOT Eigen3_FIND_VERSION_MINOR)
-  if(NOT Eigen3_FIND_VERSION_PATCH)
-    set(Eigen3_FIND_VERSION_PATCH 0)
-  endif(NOT Eigen3_FIND_VERSION_PATCH)
-
-  set(Eigen3_FIND_VERSION "${Eigen3_FIND_VERSION_MAJOR}.${Eigen3_FIND_VERSION_MINOR}.${Eigen3_FIND_VERSION_PATCH}")
-endif(NOT Eigen3_FIND_VERSION)
-
-macro(_eigen3_check_version)
-  file(READ "${Eigen3_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h" _eigen3_version_header)
-
-  string(REGEX MATCH "define[ \t]+EIGEN_WORLD_VERSION[ \t]+([0-9]+)" _eigen3_world_version_match "${_eigen3_version_header}")
-  set(EIGEN3_WORLD_VERSION "${CMAKE_MATCH_1}")
-  string(REGEX MATCH "define[ \t]+EIGEN_MAJOR_VERSION[ \t]+([0-9]+)" _eigen3_major_version_match "${_eigen3_version_header}")
-  set(EIGEN3_MAJOR_VERSION "${CMAKE_MATCH_1}")
-  string(REGEX MATCH "define[ \t]+EIGEN_MINOR_VERSION[ \t]+([0-9]+)" _eigen3_minor_version_match "${_eigen3_version_header}")
-  set(EIGEN3_MINOR_VERSION "${CMAKE_MATCH_1}")
-
-  set(Eigen3_VERSION ${EIGEN3_WORLD_VERSION}.${EIGEN3_MAJOR_VERSION}.${EIGEN3_MINOR_VERSION})
-  if(${Eigen3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION})
-    set(Eigen3_VERSION_OK FALSE)
-  else(${Eigen3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION})
-    set(Eigen3_VERSION_OK TRUE)
-  endif(${Eigen3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION})
-
-  if(NOT Eigen3_VERSION_OK)
-
-    message(STATUS "Eigen3 version ${Eigen3_VERSION} found in ${Eigen3_INCLUDE_DIR}, "
-                   "but at least version ${Eigen3_FIND_VERSION} is required")
-  endif(NOT Eigen3_VERSION_OK)
-endmacro(_eigen3_check_version)
-
-if (Eigen3_INCLUDE_DIR)
-
-  # in cache already
-  _eigen3_check_version()
-  set(Eigen3_FOUND ${Eigen3_VERSION_OK})
-
-else (Eigen3_INCLUDE_DIR)
-
-  find_path(Eigen3_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library
-      PATHS
-      ${CMAKE_INSTALL_PREFIX}/include
-      ${KDE4_INCLUDE_DIR}
-      ${Eigen3_DIR}
-      $ENV{Eigen3_DIR}
-      /org/share/archive/SFB588_RefDist/eigen3/
-      PATH_SUFFIXES eigen3 eigen
-    )
-
-  if(Eigen3_INCLUDE_DIR)
-    _eigen3_check_version()
-    set(Eigen3_FOUND ${Eigen3_VERSION_OK})
-  endif(Eigen3_INCLUDE_DIR)
-
-  include(FindPackageHandleStandardArgs)
-  find_package_handle_standard_args(Eigen3 DEFAULT_MSG Eigen3_INCLUDE_DIR Eigen3_VERSION_OK)
-
-  mark_as_advanced(Eigen3_INCLUDE_DIR)
-
-endif(Eigen3_INCLUDE_DIR)
-
+# - Try to find Eigen3 lib
+#
+# This module supports requiring a minimum version, e.g. you can do
+#   find_package(Eigen3 3.1.2)
+# to require version 3.1.2 or newer of Eigen3.
+#
+# Once done this will define
+#
+#  Eigen3_FOUND - system has eigen lib with correct version
+#  Eigen3_INCLUDE_DIR - the eigen include directory
+#  Eigen3_VERSION - eigen version
+
+# Copyright (c) 2006, 2007 Montel Laurent, <montel@kde.org>
+# Copyright (c) 2008, 2009 Gael Guennebaud, <g.gael@free.fr>
+# Copyright (c) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
+# Copyright (c) 2011 Manfred Kroehnert <Manfred.Kroehnert@kit.edu> "No all uppercase variable names"
+# Redistribution and use is allowed according to the terms of the 2-clause BSD license.
+
+if(NOT Eigen3_FIND_VERSION)
+  if(NOT Eigen3_FIND_VERSION_MAJOR)
+    set(Eigen3_FIND_VERSION_MAJOR 2)
+  endif(NOT Eigen3_FIND_VERSION_MAJOR)
+  if(NOT Eigen3_FIND_VERSION_MINOR)
+    set(Eigen3_FIND_VERSION_MINOR 91)
+  endif(NOT Eigen3_FIND_VERSION_MINOR)
+  if(NOT Eigen3_FIND_VERSION_PATCH)
+    set(Eigen3_FIND_VERSION_PATCH 0)
+  endif(NOT Eigen3_FIND_VERSION_PATCH)
+
+  set(Eigen3_FIND_VERSION "${Eigen3_FIND_VERSION_MAJOR}.${Eigen3_FIND_VERSION_MINOR}.${Eigen3_FIND_VERSION_PATCH}")
+endif(NOT Eigen3_FIND_VERSION)
+
+macro(_eigen3_check_version)
+  file(READ "${Eigen3_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h" _eigen3_version_header)
+
+  string(REGEX MATCH "define[ \t]+EIGEN_WORLD_VERSION[ \t]+([0-9]+)" _eigen3_world_version_match "${_eigen3_version_header}")
+  set(EIGEN3_WORLD_VERSION "${CMAKE_MATCH_1}")
+  string(REGEX MATCH "define[ \t]+EIGEN_MAJOR_VERSION[ \t]+([0-9]+)" _eigen3_major_version_match "${_eigen3_version_header}")
+  set(EIGEN3_MAJOR_VERSION "${CMAKE_MATCH_1}")
+  string(REGEX MATCH "define[ \t]+EIGEN_MINOR_VERSION[ \t]+([0-9]+)" _eigen3_minor_version_match "${_eigen3_version_header}")
+  set(EIGEN3_MINOR_VERSION "${CMAKE_MATCH_1}")
+
+  set(Eigen3_VERSION ${EIGEN3_WORLD_VERSION}.${EIGEN3_MAJOR_VERSION}.${EIGEN3_MINOR_VERSION})
+  if(${Eigen3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION})
+    set(Eigen3_VERSION_OK FALSE)
+  else(${Eigen3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION})
+    set(Eigen3_VERSION_OK TRUE)
+  endif(${Eigen3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION})
+
+  if(NOT Eigen3_VERSION_OK)
+
+    message(STATUS "Eigen3 version ${Eigen3_VERSION} found in ${Eigen3_INCLUDE_DIR}, "
+                   "but at least version ${Eigen3_FIND_VERSION} is required")
+  endif(NOT Eigen3_VERSION_OK)
+endmacro(_eigen3_check_version)
+
+if (Eigen3_INCLUDE_DIR)
+
+  # in cache already
+  _eigen3_check_version()
+  set(Eigen3_FOUND ${Eigen3_VERSION_OK})
+
+else (Eigen3_INCLUDE_DIR)
+
+  find_path(Eigen3_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library
+      PATHS
+      ${CMAKE_INSTALL_PREFIX}/include
+      ${KDE4_INCLUDE_DIR}
+      ${Eigen3_DIR}
+      $ENV{Eigen3_DIR}
+      /org/share/archive/SFB588_RefDist/eigen3/
+      PATH_SUFFIXES eigen3 eigen
+    )
+
+  if(Eigen3_INCLUDE_DIR)
+    _eigen3_check_version()
+    set(Eigen3_FOUND ${Eigen3_VERSION_OK})
+  endif(Eigen3_INCLUDE_DIR)
+
+  include(FindPackageHandleStandardArgs)
+  find_package_handle_standard_args(Eigen3 DEFAULT_MSG Eigen3_INCLUDE_DIR Eigen3_VERSION_OK)
+
+  mark_as_advanced(Eigen3_INCLUDE_DIR)
+
+endif(Eigen3_INCLUDE_DIR)
+
diff --git a/CMakeModules/FindSimox.cmake b/CMakeModules/FindSimox.cmake
deleted file mode 100644
index 345b45b397799c5d9d991b14d54954633d3e5d9c..0000000000000000000000000000000000000000
--- a/CMakeModules/FindSimox.cmake
+++ /dev/null
@@ -1,52 +0,0 @@
-# Find SIMOX 
-#
-# This find script searches for simox and includes all neccessary config files.
-#
-# Search order
-##	1. ${Custom_Simox_DIR}
-##   2. ${Simox_DIR}
-##   3. $ENV{Simox_DIR}
-##   [ The paths should point to either the build or the install directory or Simox ]
-#
-# The following variables are set:
-## Simox_FOUND       - TRUE on success
-## Simox_INCLUDE_DIR - The include directory
-## Simox_LIBRARIES   - The libraries
-#
-#
-# A CMakeLists.txt file for setting up a simox related project could look like this:
-#
-## PROJECT ( myDemo )
-## FIND_PACKAGE(Simox REQUIRED)
-## IF(Simox_USE_COIN_VISUALIZATION)
-##   FILE(GLOB SRCS ${PROJECT_SOURCE_DIR}/myDemo.cpp ${PROJECT_SOURCE_DIR}/myWindow.cpp)
-##   FILE(GLOB INCS ${PROJECT_SOURCE_DIR}/myWindow.h)
-##   set(GUI_MOC_HDRS ${PROJECT_SOURCE_DIR}/myWindow.h)
-##   set(GUI_UIS ${PROJECT_SOURCE_DIR}/myWindow.ui)
-##   SimoxQtApplication(${PROJECT_NAME} "${SRCS}" "${INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
-## ENDIF()
-
-#### CMAKE CONFIG
-
-find_path( Simox_DIR SimoxConfig.cmake 
-                    "${Custom_Simox_DIR}"
-                    "${Simox_DIR}" 
-                    "$ENV{Simox_DIR}")
-
-SET (Simox_CMAKE_CONFIG ${Simox_DIR}/SimoxConfig.cmake)
-if (NOT (Simox_FIND_QUIETLY OR VirtualRobot_FIND_QUIETLY))       
-    MESSAGE(STATUS " * Including ${Simox_CMAKE_CONFIG}")
-endif()
-include (${Simox_CMAKE_CONFIG})
-
-if( Simox_LIBRARIES AND Simox_BASE_DIR)
-    set( Simox_FOUND TRUE )
-    set( VirtualRobot_FOUND TRUE )
-    set( Simox_INCLUDE_DIR ${Simox_BASE_DIR} )
-    set( Simox_LIBRARY ${Simox_LIBRARIES} )
-endif()
-
-include( FindPackageHandleStandardArgs )
-find_package_handle_standard_args( Simox DEFAULT_MSG Simox_LIBRARIES Simox_INCLUDE_DIR )
-
-mark_as_advanced( Simox_INCLUDE_DIR Simox_LIBRARIES )
diff --git a/VirtualRobot/CMakeModules/FindSoQt.cmake b/CMakeModules/FindSoQt.cmake
similarity index 97%
rename from VirtualRobot/CMakeModules/FindSoQt.cmake
rename to CMakeModules/FindSoQt.cmake
index ff5ddf09007bac9beb9faaa2a593f8b688a1abac..bd55902fb7de31533dc4bdaa58442fba06406037 100644
--- a/VirtualRobot/CMakeModules/FindSoQt.cmake
+++ b/CMakeModules/FindSoQt.cmake
@@ -1,63 +1,63 @@
-# - Find SoQt (Open Inventor Qt Integration)
-# SoQt is an implementation of the Open Inventor API.
-# It provides data structures and algorithms for 3D visualization
-# http://www.coin3d.org/
-#
-# This module defines the following variables
-#  SoQt_FOUND         - system has SoQt - Open Inventor Qt Integration
-#  SoQt_INCLUDE_DIRS  - where the SoQt include directory can be found
-#  SoQt_LIBRARIES     - Link to this to use SoQt
-#
- 
-
-IF (WIN32)
-  IF (CYGWIN)
-
-    FIND_PATH(SoQt_INCLUDE_DIRS Inventor/Qt/SoQt.h)
-    FIND_LIBRARY(SoQt_LIBRARIES SoQt)
-
-  ELSE (CYGWIN)
-    FIND_PATH(SoQt_INCLUDE_DIRS Inventor/Qt/SoQt.h "$ENV{COINDIR}/include" "$ENV{Coin3D_DIR}/include")
-    FIND_LIBRARY(SoQt_LIBRARY_RELEASE soqt1 "$ENV{COINDIR}/lib" "$ENV{Coin3D_DIR}/lib")
-    FIND_LIBRARY(SoQt_LIBRARY_DEBUG soqt1d "$ENV{COINDIR}/lib" "$ENV{Coin3D_DIR}/lib")
-
-    IF (SoQt_LIBRARY_DEBUG AND SoQt_LIBRARY_RELEASE)
-      SET(SoQt_LIBRARIES optimized ${SoQt_LIBRARY_RELEASE}
-                           debug ${SoQt_LIBRARY_DEBUG})
-    ELSE (SoQt_LIBRARY_DEBUG AND SoQt_LIBRARY_RELEASE)
-      IF (SoQt_LIBRARY_DEBUG)
-        SET (SoQt_LIBRARIES ${SoQt_LIBRARY_DEBUG})
-      ENDIF (SoQt_LIBRARY_DEBUG)
-      IF (SoQt_LIBRARY_RELEASE)
-        SET (SoQt_LIBRARIES ${SoQt_LIBRARY_RELEASE})
-      ENDIF (SoQt_LIBRARY_RELEASE)
-    ENDIF (SoQt_LIBRARY_DEBUG AND SoQt_LIBRARY_RELEASE)
-
-  ENDIF (CYGWIN)
-
-ELSE (WIN32)
-  IF(APPLE)
-    FIND_PATH(SoQt_INCLUDE_DIRS Inventor/Qt/SoQt.h
-     /Library/Frameworks/Inventor.framework/Headers 
-    )
-    FIND_LIBRARY(SoQt_LIBRARIES SoQt
-      /Library/Frameworks/Inventor.framework/Libraries
-    )   
-    SET(SoQt_LIBRARIES "-framework SoQt" CACHE STRING "SoQt library for OSX")
-  ELSE(APPLE)
-
-    FIND_PATH(SoQt_INCLUDE_DIRS NAMES Inventor/Qt/SoQt.h PATHS "$ENV{SoQt_DIR}/include" "$ENV{COIN3D_DIR}/include" "$ENV{Coin3D_DIR}/include" /usr/include /usr/local/include NO_DEFAULT_PATH)
-    FIND_LIBRARY(SoQt_LIBRARIES NAMES SoQt PATHS "$ENV{SoQt_DIR}/lib" "$ENV{COIN3D_DIR}/lib" "$ENV{Coin3D_DIR}/lib" /usr/lib /usr/local/lib NO_DEFAULT_PATH)
-
-  ENDIF(APPLE)
-
-ENDIF (WIN32)
-
-# handle the QUIETLY and REQUIRED arguments and set SoQt_FOUND to TRUE if 
-# all listed variables are TRUE
-INCLUDE(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(SoQt DEFAULT_MSG SoQt_LIBRARIES SoQt_INCLUDE_DIRS)
-
-MARK_AS_ADVANCED(SoQt_INCLUDE_DIRS SoQt_LIBRARIES )
-
-
+# - Find SoQt (Open Inventor Qt Integration)
+# SoQt is an implementation of the Open Inventor API.
+# It provides data structures and algorithms for 3D visualization
+# http://www.coin3d.org/
+#
+# This module defines the following variables
+#  SoQt_FOUND         - system has SoQt - Open Inventor Qt Integration
+#  SoQt_INCLUDE_DIRS  - where the SoQt include directory can be found
+#  SoQt_LIBRARIES     - Link to this to use SoQt
+#
+ 
+
+IF (WIN32)
+  IF (CYGWIN)
+
+    FIND_PATH(SoQt_INCLUDE_DIRS Inventor/Qt/SoQt.h)
+    FIND_LIBRARY(SoQt_LIBRARIES SoQt)
+
+  ELSE (CYGWIN)
+    FIND_PATH(SoQt_INCLUDE_DIRS Inventor/Qt/SoQt.h "$ENV{COINDIR}/include" "$ENV{Coin3D_DIR}/include")
+    FIND_LIBRARY(SoQt_LIBRARY_RELEASE soqt1 "$ENV{COINDIR}/lib" "$ENV{Coin3D_DIR}/lib")
+    FIND_LIBRARY(SoQt_LIBRARY_DEBUG soqt1d "$ENV{COINDIR}/lib" "$ENV{Coin3D_DIR}/lib")
+
+    IF (SoQt_LIBRARY_DEBUG AND SoQt_LIBRARY_RELEASE)
+      SET(SoQt_LIBRARIES optimized ${SoQt_LIBRARY_RELEASE}
+                           debug ${SoQt_LIBRARY_DEBUG})
+    ELSE (SoQt_LIBRARY_DEBUG AND SoQt_LIBRARY_RELEASE)
+      IF (SoQt_LIBRARY_DEBUG)
+        SET (SoQt_LIBRARIES ${SoQt_LIBRARY_DEBUG})
+      ENDIF (SoQt_LIBRARY_DEBUG)
+      IF (SoQt_LIBRARY_RELEASE)
+        SET (SoQt_LIBRARIES ${SoQt_LIBRARY_RELEASE})
+      ENDIF (SoQt_LIBRARY_RELEASE)
+    ENDIF (SoQt_LIBRARY_DEBUG AND SoQt_LIBRARY_RELEASE)
+
+  ENDIF (CYGWIN)
+
+ELSE (WIN32)
+  IF(APPLE)
+    FIND_PATH(SoQt_INCLUDE_DIRS Inventor/Qt/SoQt.h
+     /Library/Frameworks/Inventor.framework/Headers 
+    )
+    FIND_LIBRARY(SoQt_LIBRARIES SoQt
+      /Library/Frameworks/Inventor.framework/Libraries
+    )   
+    SET(SoQt_LIBRARIES "-framework SoQt" CACHE STRING "SoQt library for OSX")
+  ELSE(APPLE)
+
+    FIND_PATH(SoQt_INCLUDE_DIRS NAMES Inventor/Qt/SoQt.h PATHS "$ENV{SoQt_DIR}/include" "$ENV{COIN3D_DIR}/include" "$ENV{Coin3D_DIR}/include" /usr/include /usr/local/include NO_DEFAULT_PATH)
+    FIND_LIBRARY(SoQt_LIBRARIES NAMES SoQt PATHS "$ENV{SoQt_DIR}/lib" "$ENV{COIN3D_DIR}/lib" "$ENV{Coin3D_DIR}/lib" /usr/lib /usr/local/lib NO_DEFAULT_PATH)
+
+  ENDIF(APPLE)
+
+ENDIF (WIN32)
+
+# handle the QUIETLY and REQUIRED arguments and set SoQt_FOUND to TRUE if 
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(SoQt DEFAULT_MSG SoQt_LIBRARIES SoQt_INCLUDE_DIRS)
+
+MARK_AS_ADVANCED(SoQt_INCLUDE_DIRS SoQt_LIBRARIES )
+
+
diff --git a/CMakeModules/SimoxConfig.cmake.in b/CMakeModules/SimoxConfig.cmake.in
index 6e51ef678cf5abd8f907a30759d2a10019968ddf..8892dbbd67a14137d2df8400e8af9a780a51284e 100644
--- a/CMakeModules/SimoxConfig.cmake.in
+++ b/CMakeModules/SimoxConfig.cmake.in
@@ -1,49 +1,43 @@
-##  Copyright (c) 2011, Karlsruhe Institute of Technology (Manfred Kroehnert)
+##  Copyright (c) 2014, Karlsruhe Institute of Technology (Nikolaus Vahrenkamp)
+
 
 # - Config file for the Simox package
 # It defines the following variables
-#  Simox_INCLUDE_DIRS  - include directories for Simox
-#  Simox_LIBRARY_DIRS  - library directories for Simox (normally not used!)
-#  Simox_LIBRARIES     - libraries to link against
-#  Simox_EXECUTABLES   - the Simox executable
-#  Simox_COMPILE_FLAGS - compile flags
-#  Simox_CMAKE_INCLUDE - list of includes that may be neccessary for external libraries (e.g. QT_USE_FILE)
-#  Simox_DATA_PATH     - the standard data path
-#  Simox_CMAKE_DIR     - Path to Simox cmake files.
-#  Simox_BASE_DIR      - Path to Simox
-
-SET(Simox_INCLUDE_DIRS "@Simox_INCLUDE_DIRS@")
-SET(Simox_LIBRARY_DIRS "@Simox_LIB_DIRS@")
-SET(Simox_COMPILE_FLAGS "@Simox_LIB_FLAGS@")
-SET(Simox_CMAKE_INCLUDE "@Simox_LIBRARY_CMAKE_INCLUDE@")
-SET(Simox_DATA_PATH "@Simox_DATA_PATH@")
-SET(Simox_CMAKE_DIR "@Simox_CMAKE_DIR@")
-SET(VirtualRobot_CMAKE_DIR "@VirtualRobot_CMAKE_DIR@")
-SET(Simox_BASE_DIR "@Simox_BASE_DIR@")
-
-# These are IMPORTED targets created by SimoxLibraryDepends.cmake
-SET(Simox_LIBRARIES "@Simox_LIBRARIES_ALL@")
-SET(Simox_EXECUTABLES "@Simox_EXECUTABLES@")
+#  Simox_INCLUDE_DIRS       - include directories for Simox
+#  Simox_LIBRARIES          - libraries to link against
+#  Simox_EXECUTABLE         - the executables
+#  Simox_VISUALIZATION      - if visualization is enabled
+#  Simox_USE_COIN_VISUALIZATION   - if Coin3D visualization was selected
+
+# Compute paths
+get_filename_component(Simox_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
+set(Simox_INCLUDE_DIRS "@CONF_INCLUDE_DIRS@")
+ 
+# Our library dependencies (contains definitions for IMPORTED targets)
+if(NOT TARGET Simox AND NOT Simox_BINARY_DIR)
+  include("${Simox_CMAKE_DIR}/SimoxTargets.cmake")
+endif()
+ 
+# These are IMPORTED targets created by SimoxTargets.cmake
+set(Simox_LIBRARIES "@Simox_LIBRARIES@")
+set(Simox_EXECUTABLE "@Simox_EXECUTABLE@")
+set(Simox_DATA_PATH "@Simox_DATA_PATH@")
 
 SET(Simox_VISUALIZATION "@Simox_VISUALIZATION@")
 SET(Simox_USE_COIN_VISUALIZATION "@Simox_USE_COIN_VISUALIZATION@")
 SET(Simox_USE_OPENSCENEGRAPH_VISUALIZATION "@Simox_USE_OPENSCENEGRAPH_VISUALIZATION@")
 SET(Simox_USE_COLLADA "@Simox_USE_COLLADA@")
-SET(Simox_VISUALIZATION_LIBS "@Simox_VISUALIZATION_LIBS@")
-SET(Simox_VISUALIZATION_INCLUDE_PATHS "@Simox_VISUALIZATION_INCLUDE_PATHS@")
-SET(Simox_VISUALIZATION_COMPILE_FLAGS "@Simox_VISUALIZATION_COMPILE_FLAGS@")
-
-# Convenient setup: all simox-related dependencies are included here.
-# If this causes troubles, disable it by steting Simox_DISABLE_DEPENDENCIES_INCLUDE.
-# Then you will need to setup the dependencies on your own, similar to the setup in SimoxExternalLibrarySetup.cmake
-IF(NOT Simox_DISABLE_DEPENDENCIES_INCLUDE)
-    # include all library dependencies
-    if (NOT (Simox_FIND_QUIETLY OR VirtualRobot_FIND_QUIETLY))
-        MESSAGE(STATUS " * Including ${Simox_CMAKE_DIR}/SimoxExternalLibrarySetup.cmake")
-    endif()
-    include(${Simox_CMAKE_DIR}/SimoxExternalLibrarySetup.cmake)
-    if (NOT (Simox_FIND_QUIETLY OR VirtualRobot_FIND_QUIETLY))
-        MESSAGE(STATUS " * Including ${Simox_CMAKE_DIR}/SimoxMacros.cmake")
-    endif()
-    include(${Simox_CMAKE_DIR}/SimoxMacros.cmake)
-ENDIF()
+
+
+SET(Simox_EXTERNAL_INCLUDE_DIRS "@Simox_EXTERNAL_INCLUDE_DIRS@")
+SET(Simox_EXTERNAL_LIBRARY_FLAGS "@Simox_EXTERNAL_LIBRARY_FLAGS@")
+SET(Simox_EXTERNAL_LIBRARIES "@Simox_EXTERNAL_LIBRARIES@")
+SET(Simox_EXTERNAL_LIBRARY_DIRS "@Simox_EXTERNAL_LIBRARY_DIRS@")
+SET(Simox_EXTERNAL_CMAKE_INCLUDE "@Simox_EXTERNAL_CMAKE_INCLUDE@")
+
+
+
+if (NOT (Simox_FIND_QUIETLY OR VirtualRobot_FIND_QUIETLY)) 
+    MESSAGE(STATUS " * Including ${Simox_CMAKE_DIR}/SimoxMacros.cmake")
+endif()
+include(@Simox_MACROS_INCLUDE_DIR@/SimoxMacros.cmake)
diff --git a/CMakeModules/SimoxConfigVersion.cmake.in b/CMakeModules/SimoxConfigVersion.cmake.in
index 72771e106ce9522a495e4d06dfaca04b27db655e..b790027341e70fc8160223d0c22450b2fb94f638 100644
--- a/CMakeModules/SimoxConfigVersion.cmake.in
+++ b/CMakeModules/SimoxConfigVersion.cmake.in
@@ -10,4 +10,5 @@ set(PACKAGE_VERSION "@Simox_VERSION@")
     if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}")
       set(PACKAGE_VERSION_EXACT TRUE)
     endif()
-endif()
\ No newline at end of file
+endif()
+
diff --git a/CMakeModules/SimoxExternalLibrarySetup.cmake b/CMakeModules/SimoxExternalLibrarySetup.cmake
deleted file mode 100644
index f3536bcc0694577dce1ff37697c0d007f84f7aec..0000000000000000000000000000000000000000
--- a/CMakeModules/SimoxExternalLibrarySetup.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-
-# Setup paths, libs and external cmake files to be used for SIMOX
-
-if (NOT (Simox_FIND_QUIETLY OR VirtualRobot_FIND_QUIETLY))
-    MESSAGE(STATUS "SETTING LIBRARY DEPENDENCIES FOR SIMOX")
-endif()
-
-# VR
-
-INCLUDE (${VirtualRobot_CMAKE_DIR}/VirtualRobotConfig.cmake)
-INCLUDE (${VirtualRobot_CMAKE_DIR}/VirtualRobotExternalLibrarySetup.cmake)
-
-# SABA
-
-# GRASP STUDIO
-
diff --git a/CMakeModules/SimoxMacros.cmake b/CMakeModules/SimoxMacros.cmake
index 22c2a9c41c86851c0e9fb1b9cc6aacc4143e70a3..388a8627f311c2c69ed442a51312c22418ccfdd9 100644
--- a/CMakeModules/SimoxMacros.cmake
+++ b/CMakeModules/SimoxMacros.cmake
@@ -1,24 +1,60 @@
 
 # Build and helper macros
 
-function(VirtualRobotQtApplication name srcs incs mocFiles uiFiles)
+function(setupSimoxExternalLibraries)
+  IF (Simox_VISUALIZATION)
+    # we need to check for Qt4
+    IF(NOT "$ENV{QT_QMAKE_EXECUTABLE}" STREQUAL "")
+      #  if (NOT (Simox_FIND_QUIETLY OR VirtualRobot_FIND_QUIETLY)) 
+      #    MESSAGE (STATUS "USING QT-PATH from environment variable QT_QMAKE_EXECUTABLE: $ENV{QT_QMAKE_EXECUTABLE}")
+      #endif()
+      file(TO_CMAKE_PATH "$ENV{QT_QMAKE_EXECUTABLE}" QT_QMAKE_EXECUTABLE)
+    ENDIF()
+    FIND_PACKAGE(Qt4 4.6.0 COMPONENTS QtOpenGL QtCore QtGui)
+  ENDIF()
+  INCLUDE_DIRECTORIES(${Simox_INCLUDE_DIRS})
+  INCLUDE_DIRECTORIES(${Simox_EXTERNAL_INCLUDE_DIRS})
+  ADD_DEFINITIONS( ${Simox_EXTERNAL_LIBRARY_FLAGS} )
+  LINK_DIRECTORIES( ${Simox_LIBRARY_DIRS} )
+  
+  FOREACH(f ${Simox_EXTERNAL_CMAKE_INCLUDE})
+      MESSAGE(STATUS " * Simox_EXTERNAL_CMAKE_INCLUDE: ${f}")
+      INCLUDE(${f})
+  ENDFOREACH(f) 
+endfunction()
+
+
+function(VirtualRobotApplication name srcs incs)
+    setupSimoxExternalLibraries()
+    INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR} )
+    ################################## EXECUTABLE ##############################
+    ADD_EXECUTABLE(${name} ${srcs} ${incs})
+    TARGET_LINK_LIBRARIES(${name} VirtualRobot ${Simox_EXTERNAL_LIBRARIES})
+endfunction()
+
 
+function(VirtualRobotQtApplication name srcs incs mocFiles uiFiles)
+    setupSimoxExternalLibraries() 
     MESSAGE (STATUS "Qt Moc'ing: ${mocFiles}")
     qt4_wrap_cpp(generatedMocFiles ${mocFiles})
     MESSAGE (STATUS "Qt ui files: ${uiFiles}")
     qt4_wrap_ui(generatedUiFiles ${uiFiles})
     INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR} )
-
     ################################## EXECUTABLE ##############################
     ADD_EXECUTABLE(${name} ${srcs} ${incs} ${generatedUiFiles} ${generatedMocFiles})
-    TARGET_LINK_LIBRARIES(${name} ${VirtualRobot_LIBRARIES})
+    TARGET_LINK_LIBRARIES(${name} VirtualRobot ${Simox_EXTERNAL_LIBRARIES})
+endfunction()
+
 
+function(SimoxApplication name srcs incs)
+    VirtualRobotApplication("${name}" "${srcs}" "${incs}")
+    # add Saba and GraspStudio
+    TARGET_LINK_LIBRARIES(${name} GraspStudio Saba)
 endfunction()
 
-function(SimoxQtApplication name srcs incs mocFiles uiFiles)
 
-    VirtualRobotQtApplication("${name}" "${srcs}" "${incs}" "${mocFiles}" "${uiFiles}")
-        
+function(SimoxQtApplication name srcs incs mocFiles uiFiles)
+    VirtualRobotQtApplication("${name}" "${srcs}" "${incs}" "${mocFiles}" "${uiFiles}")  
     # add Saba and GraspStudio
     TARGET_LINK_LIBRARIES(${name} GraspStudio Saba)
 endfunction()
diff --git a/GraspPlanning/CMakeLists.txt b/GraspPlanning/CMakeLists.txt
index edc705c81b269f71484bc41ede8f3041d2874a4c..79707a3dc1b4dc55b9c234f57f13d8cff056d791 100644
--- a/GraspPlanning/CMakeLists.txt
+++ b/GraspPlanning/CMakeLists.txt
@@ -3,11 +3,17 @@ PROJECT ( GraspStudio )
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6.2)
 CMAKE_POLICY(VERSION 2.6)
 
-MESSAGE (STATUS "\n ***** CONFIGURING Simox project GraspStudio *****")
-INCLUDE (config.cmake)
+MESSAGE (STATUS "***** CONFIGURING Simox project GraspStudio *****")
+
+MACRO(ADD_GRASPSTUDIO_TEST TEST_NAME)
+    	ADD_EXECUTABLE(${TEST_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/${TEST_NAME}.cpp)
+    	TARGET_LINK_LIBRARIES(${TEST_NAME} VirtualRobot Saba GraspStudio ${Simox_EXTERNAL_LIBRARIES})
+    	SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_TEST_DIR})
+    	SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES FOLDER "GraspStudio Tests")
+    ADD_TEST(NAME Saba_${TEST_NAME}
+    	        COMMAND ${Simox_TEST_DIR}/${TEST_NAME} --output_format=XML --log_level=all --report_level=no)
+ENDMACRO(ADD_GRASPSTUDIO_TEST)
 
-INCLUDE_DIRECTORIES(${VirtualRobot_EXTERNAL_INCLUDE_DIRS})
-ADD_DEFINITIONS(${VirtualRobot_EXTERNAL_LIBRARY_FLAGS})
 
 ########### QHULL #################
 OPTION(BUILD_qhull "if on builds qhull external library" ON)
@@ -22,7 +28,7 @@ OPTION(BUILD_powercrust "if on builds powercrust external library" ON)
 IF(BUILD_powercrust)
 	ADD_SUBDIRECTORY(ExternalDependencies/powercrust)
 ENDIF(BUILD_powercrust)
-########### END QHULL #################
+########### END POWERCRUST #################
 
 
 SET(SOURCES
@@ -48,8 +54,9 @@ GraspPlanner/GenericGraspPlanner.h
 GraspQuality/GraspQualityMeasure.h
 GraspQuality/GraspQualityMeasureWrenchSpace.h
 Visualization/ConvexHullVisualization.h
-${GRASPSTUDIO_SimoxDir}/VirtualRobot/definesVR.h
 )
+#${GRASPSTUDIO_SimoxDir}/VirtualRobot/definesVR.h
+
 
 IF(BUILD_powercrust)
 	# Adding MATGraspPlanner
@@ -113,21 +120,21 @@ if (Simox_VISUALIZATION AND Simox_USE_COIN_VISUALIZATION)
 	)
 endif ()
 
-# this var is considered for generating Simox_INCLUDE_DIRS_
-SET(GRASP_STUDIO_INCLUDE_DIRS "${GRASPSTUDIO_SimoxDir}" "${GRASPSTUDIO_DIR}" "${GRASPSTUDIO_DIR}/ExternalDependencies/qhull-2003.1/include" "${GRASPSTUDIO_DIR}/ExternalDependencies" "${GRASPSTUDIO_DIR}/ExternalDependencies/powercrust")
 
-INCLUDE_DIRECTORIES(${GRASPSTUDIO_SimoxDir})
-INCLUDE_DIRECTORIES(${GRASPSTUDIO_DIR})
-INCLUDE_DIRECTORIES(${GRASPSTUDIO_DIR}/ExternalDependencies)
-INCLUDE_DIRECTORIES(${GRASPSTUDIO_DIR}/ExternalDependencies/qhull-2003.1/include)
-INCLUDE_DIRECTORIES(${GRASPSTUDIO_DIR}/ExternalDependencies/powercrust)
+INCLUDE_DIRECTORIES(${Simox_EXTERNAL_INCLUDE_DIRS})
+ADD_DEFINITIONS(${Simox_EXTERNAL_LIBRARY_FLAGS})
 
 
+ADD_LIBRARY (GraspStudio SHARED ${SOURCES} ${INCLUDES})
+TARGET_LINK_LIBRARIES (GraspStudio Saba VirtualRobot ${Simox_EXTERNAL_LIBRARIES} qhull powercrust)
 
+# .DLL path
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
+# .so path
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${Simox_LIB_DIR})
+# .lib path (this is needed for setting the DLL-import library path on windows)
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${Simox_LIB_DIR})
 
-ADD_LIBRARY (GraspStudio SHARED ${SOURCES} ${INCLUDES})
-#MESSAGE("VirtualRobot_ROBOT_LINK_LIBRARIES:" ${VirtualRobot_LINK_LIBRARIES})
-TARGET_LINK_LIBRARIES (GraspStudio ${COLLISIONDETECTION_LIB} ${VirtualRobot_EXTERNAL_LIBRARIES} VirtualRobot qhull powercrust)
 
 # include examples
 ADD_SUBDIRECTORY(examples/)
@@ -135,40 +142,21 @@ ADD_SUBDIRECTORY(examples/)
 # include unit tests
 #ADD_SUBDIRECTORY(tests/)
 
-IF (NOT DEFINED Simox_VERSION)
-	set(GraspStudio_MAJOR_VERSION 1)
-	set(GraspStudio_MINOR_VERSION 0)
-	set(GraspStudio_PATCH_VERSION 0)
-ELSE()
-	set(GraspStudio_MAJOR_VERSION ${Simox_MAJOR_VERSION})
-	set(GraspStudio_MINOR_VERSION ${Simox_MINOR_VERSION})
-	set(GraspStudio_PATCH_VERSION ${Simox_PATCH_VERSION})
-ENDIF()
-set(GraspStudio_VERSION
-    ${GraspStudio_MAJOR_VERSION}.${GraspStudio_MINOR_VERSION}.${GraspStudio_PATCH_VERSION})
-set_target_properties( GraspStudio  PROPERTIES
-	VERSION ${GraspStudio_VERSION}
-	SOVERSION ${GraspStudio_MAJOR_VERSION}
-	)
-MESSAGE(STATUS " * GraspStudio Version: ${GraspStudio_VERSION}")
-
 
-# .DLL path
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${GRASPSTUDIO_BIN_DIR})
-# .so path
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${GRASPSTUDIO_LIB_DIR})
-# .lib path (this is needed for setting the DLL-import library path on windows)
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${GRASPSTUDIO_LIB_DIR})
+#######################################################################################
+############################ Setup for installation ###################################
+#######################################################################################
 
-INSTALL(TARGETS GraspStudio
-  RUNTIME DESTINATION ${GRASPSTUDIO_INSTALL_BIN_DIR}
-  LIBRARY DESTINATION ${GRASPSTUDIO_INSTALL_LIB_DIR}
-  ARCHIVE DESTINATION ${GRASPSTUDIO_INSTALL_LIB_DIR}
-  COMPONENT Libraries
-  )
 
+install(TARGETS ${PROJECT_NAME}
+  # IMPORTANT: Add the library to the "export-set"
+  EXPORT SimoxTargets
+  RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+  LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT shlib
+  ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" COMPONENT library
+  COMPONENT dev)
 
-INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR} DESTINATION ${GRASPSTUDIO_INSTALL_HEADER_DIR}
+INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR} DESTINATION ${Simox_INSTALL_HEADER_DIR}
 	COMPONENT Headers
         FILES_MATCHING PATTERN "*.h"
         PATTERN ".svn" EXCLUDE
@@ -178,5 +166,7 @@ INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR} DESTINATION ${GRASPSTUDIO_INSTALL_HEADER
         PATTERN "data" EXCLUDE
         PATTERN "examples" EXCLUDE
 	)
+	
 
+MESSAGE (STATUS "***** Finished CONFIGURING Simox project GraspStudio *****\n")
 
diff --git a/GraspPlanning/ConvexHullGenerator.cpp b/GraspPlanning/ConvexHullGenerator.cpp
index 46b4946282b1edf5df42a43b216e51dbd9056c01..f5d2c42b64a48e8dda7024d640a300c4b1cf60ac 100644
--- a/GraspPlanning/ConvexHullGenerator.cpp
+++ b/GraspPlanning/ConvexHullGenerator.cpp
@@ -13,7 +13,7 @@ using namespace VirtualRobot::MathTools;
 
 extern "C"
 {
-#include <qhull/qhull_a.h>
+#include "ExternalDependencies/qhull-2003.1/include/qhull/qhull_a.h"
 }
 namespace GraspStudio
 {
diff --git a/GraspPlanning/ExternalDependencies/powercrust/CMakeLists.txt b/GraspPlanning/ExternalDependencies/powercrust/CMakeLists.txt
index cb95d83d40c543b1d6c14cc7c326b6b814c51c84..ef9dd1b45c06d8961e5065d584ffbbb3949c36b0 100644
--- a/GraspPlanning/ExternalDependencies/powercrust/CMakeLists.txt
+++ b/GraspPlanning/ExternalDependencies/powercrust/CMakeLists.txt
@@ -4,11 +4,7 @@ PROJECT(powercrust)
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6.0)
 CMAKE_POLICY(VERSION 2.6)
 
-INCLUDE (${GRASPSTUDIO_DIR}/config.cmake)
-SET (GRASPSTUDIO_VirtualRobotDir ${GRASPSTUDIO_SimoxDir}/VirtualRobot)
-INCLUDE (${GRASPSTUDIO_VirtualRobotDir}/config.cmake)
-
-MESSAGE(STATUS "** powercrust VirtualRobotDir: ${GRASPSTUDIO_VirtualRobotDir}")
+MESSAGE (STATUS " **** Configuring powercrust")
 
 # Specify sources and headers
 FILE(GLOB SRCS ${PROJECT_SOURCE_DIR}/*.cpp)
@@ -18,18 +14,23 @@ INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/include ${PROJEC
 ADD_LIBRARY(${PROJECT_NAME} STATIC ${SRCS} ${INCS})
 
 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "3rd_Party")
-
 # .DLL path
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${GRASPSTUDIO_BIN_DIR})
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
 # .so path
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${GRASPSTUDIO_LIB_DIR})
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${Simox_LIB_DIR})
 # .lib path (this is needed for setting the DLL-import library path on windows)
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${GRASPSTUDIO_LIB_DIR})
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${Simox_LIB_DIR})
 
 
-TARGET_LINK_LIBRARIES(${PROJECT_NAME})
-MESSAGE(STATUS " ** ${PROJECT_NAME} will be placed into " ${GRASPSTUDIO_LIB_DIR})
-MESSAGE(STATUS " ** ${PROJECT_NAME} will be installed into " ${GRASPSTUDIO_INSTALL_LIB_DIR})
+#######################################################################################
+############################ Setup for installation ###################################
+#######################################################################################
 
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${GRASPSTUDIO_INSTALL_LIB_DIR} COMPONENT Libraries)
+install(TARGETS ${PROJECT_NAME}
+  # IMPORTANT: Add the library to the "export-set"
+  EXPORT SimoxTargets
+  RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+  LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT shlib
+  ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" COMPONENT library
+  COMPONENT dev)
 
diff --git a/GraspPlanning/ExternalDependencies/qhull-2003.1/CMakeLists.txt b/GraspPlanning/ExternalDependencies/qhull-2003.1/CMakeLists.txt
index a4d2d9c32d2392c5beb14732952e9253524b21d6..dad43cae059b6385bd5226728f2e5f38d3b94227 100644
--- a/GraspPlanning/ExternalDependencies/qhull-2003.1/CMakeLists.txt
+++ b/GraspPlanning/ExternalDependencies/qhull-2003.1/CMakeLists.txt
@@ -2,13 +2,7 @@ PROJECT(qhull)
 
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6.0)
 CMAKE_POLICY(VERSION 2.6)
-
-INCLUDE (${GRASPSTUDIO_DIR}/config.cmake)
-SET (GRASPSTUDIO_VirtualRobotDir ${GRASPSTUDIO_SimoxDir}/VirtualRobot)
-INCLUDE (${GRASPSTUDIO_VirtualRobotDir}/config.cmake)
-
-MESSAGE(STATUS "** qHull VirtualRobotDir: ${GRASPSTUDIO_VirtualRobotDir}")
-
+MESSAGE (STATUS " **** Configuring qhull")
 
 # Specify sources and headers
 FILE(GLOB SRCS ${PROJECT_SOURCE_DIR}/src/*.c)
@@ -20,16 +14,22 @@ ADD_LIBRARY(${PROJECT_NAME} STATIC ${SRCS} ${INCS})
 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "3rd_Party")
 
 # .DLL path
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${GRASPSTUDIO_BIN_DIR})
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
 # .so path
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${GRASPSTUDIO_LIB_DIR})
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${Simox_LIB_DIR})
 # .lib path (this is needed for setting the DLL-import library path on windows)
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${GRASPSTUDIO_LIB_DIR})
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${Simox_LIB_DIR})
 
 
-TARGET_LINK_LIBRARIES(${PROJECT_NAME})
-MESSAGE(STATUS " ** ${PROJECT_NAME} will be placed into " ${GRASPSTUDIO_LIB_DIR})
-MESSAGE(STATUS " ** ${PROJECT_NAME} will be installed into " ${GRASPSTUDIO_INSTALL_LIB_DIR})
+#######################################################################################
+############################ Setup for installation ###################################
+#######################################################################################
 
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${GRASPSTUDIO_INSTALL_LIB_DIR} COMPONENT Libraries)
+install(TARGETS ${PROJECT_NAME}
+  # IMPORTANT: Add the library to the "export-set"
+  EXPORT SimoxTargets
+  RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+  LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT shlib
+  ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" COMPONENT library
+  COMPONENT dev)
 
diff --git a/GraspPlanning/GraspPlanner/GenericGraspPlanner.cpp b/GraspPlanning/GraspPlanner/GenericGraspPlanner.cpp
index 881e8ff34cd48f4cb5758e0a691b47d69baa4de6..a715e4b6bac35ec81f81da8246d7a8b7598aee7a 100644
--- a/GraspPlanning/GraspPlanner/GenericGraspPlanner.cpp
+++ b/GraspPlanning/GraspPlanner/GenericGraspPlanner.cpp
@@ -5,9 +5,9 @@
 #include <VirtualRobot/Nodes/RobotNode.h>
 #include <iostream>
 #include <sstream>
-#include "GraspQuality/GraspQualityMeasureWrenchSpace.h"
-#include "GraspQuality/GraspQualityMeasure.h"
-#include "ApproachMovementGenerator.h"
+#include "../GraspQuality/GraspQualityMeasureWrenchSpace.h"
+#include "../GraspQuality/GraspQualityMeasure.h"
+#include "../ApproachMovementGenerator.h"
 
 using namespace std;
 
diff --git a/GraspPlanning/GraspPlanner/GenericGraspPlanner.h b/GraspPlanning/GraspPlanner/GenericGraspPlanner.h
index 03f6162d3707ad901b049dc77ca14c3275780ff8..46a43235127b08493353352b829495cb94d0c06a 100644
--- a/GraspPlanning/GraspPlanner/GenericGraspPlanner.h
+++ b/GraspPlanning/GraspPlanner/GenericGraspPlanner.h
@@ -25,8 +25,8 @@
 
 #include "../GraspStudio.h"
 #include "GraspPlanner.h"
-#include "ApproachMovementGenerator.h"
-#include "GraspQuality/GraspQualityMeasure.h"
+#include "../ApproachMovementGenerator.h"
+#include "../GraspQuality/GraspQualityMeasure.h"
 
 namespace GraspStudio
 {
diff --git a/GraspPlanning/GraspPlanner/MATPlanner/CandidateGraspTester.cpp b/GraspPlanning/GraspPlanner/MATPlanner/CandidateGraspTester.cpp
index 3ebc6699f85bc5ffc24b12ab875dc53b2e6e4a28..2ed7f3bea0537d5ceb20ab3214688ac5e11ea523 100644
--- a/GraspPlanning/GraspPlanner/MATPlanner/CandidateGraspTester.cpp
+++ b/GraspPlanning/GraspPlanner/MATPlanner/CandidateGraspTester.cpp
@@ -21,8 +21,8 @@
 *
 */
 #include "CandidateGraspTester.h"
-#include "../GraspQuality/GraspQualityMeasure.h"
-#include "../GraspQuality/GraspQualityMeasureWrenchSpace.h"
+#include "../../GraspQuality/GraspQualityMeasure.h"
+#include "../../GraspQuality/GraspQualityMeasureWrenchSpace.h"
 #include <VirtualRobot/Robot.h>
 #include <VirtualRobot/EndEffector/EndEffector.h>
 
diff --git a/GraspPlanning/GraspPlanner/MATPlanner/CandidateGraspTester.h b/GraspPlanning/GraspPlanner/MATPlanner/CandidateGraspTester.h
index 55826b423d2745a25debc7f682ff06cfe148a00a..e62b18d7b96b503f750173e3bb1648c9d7038a08 100644
--- a/GraspPlanning/GraspPlanner/MATPlanner/CandidateGraspTester.h
+++ b/GraspPlanning/GraspPlanner/MATPlanner/CandidateGraspTester.h
@@ -28,7 +28,7 @@
 #include <vector>
 #include "MedialSphere.h"
 
-#include "powercrust.h"
+#include "../../ExternalDependencies/powercrust/powercrust.h"
 
 namespace GraspStudio
 {
diff --git a/GraspPlanning/GraspPlanner/MATPlanner/Converter.h b/GraspPlanning/GraspPlanner/MATPlanner/Converter.h
index a5970dae111d1dec4e9b5797914c3a3fa0593629..e913297e46db22be7ad147897e5e38619252bc54 100644
--- a/GraspPlanning/GraspPlanner/MATPlanner/Converter.h
+++ b/GraspPlanning/GraspPlanner/MATPlanner/Converter.h
@@ -1,50 +1,50 @@
-/**
-* This file is part of Simox.
-*
-* Simox is free software; you can redistribute it and/or modify
-* it under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2 of
-* the License, or (at your option) any later version.
-*
-* Simox is distributed in the hope that it will be useful, but
-* WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-* GNU Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public License
-* along with this program. If not, see <http://www.gnu.org/licenses/>.
-*
-* @package    GraspStudio
-* @author     Markus Przybylski
-* @copyright  2013 H2T,KIT
-*             GNU Lesser General Public License
-*
-*/
-#ifndef CONVERTER_H
-#define CONVERTER_H
-
-#include "../../GraspStudio.h"
-#include <vector>
-#include "MedialSphere.h"
-
-#include "powercrust.h"
-
+/**
+* This file is part of Simox.
+*
+* Simox is free software; you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2 of
+* the License, or (at your option) any later version.
+*
+* Simox is distributed in the hope that it will be useful, but
+* WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*
+* @package    GraspStudio
+* @author     Markus Przybylski
+* @copyright  2013 H2T,KIT
+*             GNU Lesser General Public License
+*
+*/
+#ifndef CONVERTER_H
+#define CONVERTER_H
+
+#include "../../GraspStudio.h"
+#include <vector>
+#include "MedialSphere.h"
+
+#include "../../ExternalDependencies/powercrust/powercrust.h"
+
 namespace GraspStudio
-{
-
-	class GRASPSTUDIO_IMPORT_EXPORT Converter
-	{
-	public:
-		EIGEN_MAKE_ALIGNED_OPERATOR_NEW
-
-			Converter();
-
-		static std::vector<MedialSpherePtr> convertPowerCrustPolarBallsToMedialSpheres(std::vector<GraspStudio::PowerCrust::PolarBall>& polarBalls);
-
-		static MedialSpherePtr convertPowerCrustPolarBallToMedialSphere(GraspStudio::PowerCrust::PolarBall& polarBall);
-
-
-	};
-}
-
-#endif // CONVERTER_H
+{
+
+	class GRASPSTUDIO_IMPORT_EXPORT Converter
+	{
+	public:
+		EIGEN_MAKE_ALIGNED_OPERATOR_NEW
+
+			Converter();
+
+		static std::vector<MedialSpherePtr> convertPowerCrustPolarBallsToMedialSpheres(std::vector<GraspStudio::PowerCrust::PolarBall>& polarBalls);
+
+		static MedialSpherePtr convertPowerCrustPolarBallToMedialSphere(GraspStudio::PowerCrust::PolarBall& polarBall);
+
+
+	};
+}
+
+#endif // CONVERTER_H
diff --git a/GraspPlanning/GraspPlanner/MATPlanner/GridOfMedialSpheres.cpp b/GraspPlanning/GraspPlanner/MATPlanner/GridOfMedialSpheres.cpp
index 9325857a6566aa49339989fd772a28a8056b2ba4..3411ae6b6ed209dc1c9f0f7957a35d3e07df9c53 100644
--- a/GraspPlanning/GraspPlanner/MATPlanner/GridOfMedialSpheres.cpp
+++ b/GraspPlanning/GraspPlanner/MATPlanner/GridOfMedialSpheres.cpp
@@ -146,7 +146,7 @@ namespace GraspStudio
 		{
 			mainDirection = 'x';
 			//numCells(0) = ceil(ceil(ratio * (numPoints ** (1.0 / 3))) / gridConstant);
-			numCells(0) = (int)ceil(ceil(ratio *pow(numPoints, (1.0f / 3.0f))) / gridConstant);
+			numCells(0) = (int)ceil(ceil(ratio *pow((float)numPoints, (1.0f / 3.0f))) / gridConstant);
 			cellWidth = maxDist / numCells(0);
 			numCells(1) = (int)ceil(diffVect(1) / cellWidth);
 			numCells(2) = (int)ceil(diffVect(2) / cellWidth);
@@ -155,7 +155,7 @@ namespace GraspStudio
 		{
 			mainDirection = 'y';
 			//numCells(1) = ceil(ceil(ratio * (num_points ** (1.0 / 3))) / k_factor);
-			numCells(1) = (int)ceil(ceil(ratio *pow(numPoints, (1.0f / 3.0f))) / gridConstant);
+			numCells(1) = (int)ceil(ceil(ratio *pow((float)numPoints, (1.0f / 3.0f))) / gridConstant);
 			cellWidth = maxDist / numCells(1);
 			numCells(0) = (int)ceil(diffVect(0) / cellWidth);
 			numCells(2) = (int)ceil(diffVect(2) / cellWidth);
@@ -165,7 +165,7 @@ namespace GraspStudio
 		{
 			mainDirection = 'z';
 			//numCells(2) = ceil(ceil(ratio * (numPoints ** (1.0 / 3))) / gridConstant);
-			numCells(2) = (int)ceil(ceil(ratio *pow(numPoints, (1.0f / 3.0f))) / gridConstant);
+			numCells(2) = (int)ceil(ceil(ratio *pow((float)numPoints, (1.0f / 3.0f))) / gridConstant);
 			cellWidth = maxDist / numCells(2);
 			numCells(0) = (int)ceil(diffVect(0) / cellWidth);
 			numCells(1) = (int)ceil(diffVect(1) / cellWidth);
diff --git a/GraspPlanning/GraspPlanner/MATPlanner/MatGraspPlanner.h b/GraspPlanning/GraspPlanner/MATPlanner/MatGraspPlanner.h
index cec71024d60054b1b1da0fcb284405e97166c272..dd67a2bfd1847b9c08ca991e7c9225d4800f19fc 100644
--- a/GraspPlanning/GraspPlanner/MATPlanner/MatGraspPlanner.h
+++ b/GraspPlanning/GraspPlanner/MATPlanner/MatGraspPlanner.h
@@ -27,7 +27,7 @@
 #include <GraspPlanning/GraspStudio.h>
 #include <GraspPlanning/GraspPlanner/GraspPlanner.h>
 #include <GraspPlanning/GraspQuality/GraspQualityMeasure.h>
-#include "powercrust.h"
+#include "../../ExternalDependencies/powercrust/powercrust.h"
 
 
 #include "MedialSphere.h"
diff --git a/GraspPlanning/config.cmake b/GraspPlanning/config.cmake
deleted file mode 100644
index f0d9c6945b41e14506e401aefde8db3e5dedc1b7..0000000000000000000000000000000000000000
--- a/GraspPlanning/config.cmake
+++ /dev/null
@@ -1,55 +0,0 @@
-IF (NOT GRASPSTUDIO_CONFIGURED)
-
-	# defines GRASPSTUDIO_CONFIGURED variable which indicates that this config file has already been included
-	SET(GRASPSTUDIO_CONFIGURED TRUE)
-
-    GET_FILENAME_COMPONENT (CurrentGSPath ${CMAKE_CURRENT_LIST_FILE} PATH)
-    SET(GRASPSTUDIO_DIR ${CurrentGSPath})
-    
-    ############################# SETUP PATHS TO Simox #############################
-    SET(GS_Simox_DIR_STANDARD "${CurrentGSPath}/..")
-    # be sure to have the absolute path
-    get_filename_component(GS_Simox_DIR_STANDARD ${GS_Simox_DIR_STANDARD} ABSOLUTE)
-    
-    SET (GRASPSTUDIO_SimoxDir ${GS_Simox_DIR_STANDARD} CACHE STRING "Path to Simox used by GraspStudio")
-    
-    INCLUDE(${GRASPSTUDIO_SimoxDir}/config.cmake)
-    #INCLUDE(${GRASPSTUDIO_SimoxDir}/CMakeModules/SimoxProject.cmake)
-    	
-    IF(NOT DEFINED Simox_BUILD_DIRECTORY)
-    	get_filename_component(Simox_BUILD_DIRECTORY ${Simox_BUILD_DIRECTORY} ABSOLUTE)
-    	SET(Simox_BUILD_DIRECTORY "${GRASPSTUDIO_SimoxDir}/build" CACHE STRING "Simox build directory used by GraspStudio")
-    	SET(Simox_LIB_DIR ${Simox_BUILD_DIRECTORY}/lib)
-    	SET(Simox_BIN_DIR ${Simox_BUILD_DIRECTORY}/bin)
-    ENDIF()
-    
-    ############################# SETUP PATHS #############################
-    #ADD_DEFINITIONS(-DGRASPSTUDIO_BASE_DIR="${GRASPSTUDIO_DIR}")
-    
-    # Define, where to put the binaries
-    SET(GRASPSTUDIO_LIB_DIR ${Simox_LIB_DIR})
-    SET(GRASPSTUDIO_BIN_DIR ${Simox_BIN_DIR})
-    MESSAGE(STATUS "** GRASPSTUDIO_LIB_DIR: ${GRASPSTUDIO_LIB_DIR}")
-    MESSAGE(STATUS "** GRASPSTUDIO_BIN_DIR: ${GRASPSTUDIO_BIN_DIR}")
-    
-    # Define, where to install the binaries
-    SET(GRASPSTUDIO_INSTALL_LIB_DIR ${Simox_INSTALL_LIB_DIR})
-    SET(GRASPSTUDIO_INSTALL_BIN_DIR ${Simox_INSTALL_BIN_DIR})
-    SET(GRASPSTUDIO_INSTALL_HEADER_DIR ${Simox_INSTALL_HEADER_DIR})
-    
-    #######################################################################
-    # Setup for testing
-    #######################################################################
-    ENABLE_TESTING()
-    INCLUDE(CTest)
-    
-    MACRO(ADD_GRASPSTUDIO_TEST TEST_NAME)
-    	ADD_EXECUTABLE(${TEST_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/${TEST_NAME}.cpp)
-    	TARGET_LINK_LIBRARIES(${TEST_NAME} VirtualRobot Saba GraspStudio ${VirtualRobot_LINK_LIBRARIES})
-    	IF(NOT UNIX)
-    	   SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
-    	ENDIF(NOT UNIX)
-    	SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES FOLDER "GraspStudio Tests")
-    	ADD_TEST( GraspStudio_${TEST_NAME} ${TEST_NAME} --output_format=XML --log_level=all --report_level=no)
-    ENDMACRO(ADD_GRASPSTUDIO_TEST)
-ENDIF(NOT GRASPSTUDIO_CONFIGURED)
diff --git a/GraspPlanning/examples/GraspPlanner/CMakeLists.txt b/GraspPlanning/examples/GraspPlanner/CMakeLists.txt
index bfca843316512bf2f1b450e8eef03d4b7ffc8f27..4622d6fba7e40402f988194c1c3bde2f1659fee9 100644
--- a/GraspPlanning/examples/GraspPlanner/CMakeLists.txt
+++ b/GraspPlanning/examples/GraspPlanner/CMakeLists.txt
@@ -3,7 +3,9 @@ PROJECT ( GraspPlanner )
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4)
 
 CMAKE_POLICY(VERSION 2.6)
-	
+
+INCLUDE(${Simox_DIR}/CMakeModules/SimoxMacros.cmake)
+
 IF(Simox_VISUALIZATION AND Simox_USE_COIN_VISUALIZATION)
 
 	# the variable "demo_SRCS" contains all .cpp files of this project
@@ -20,15 +22,19 @@ IF(Simox_VISUALIZATION AND Simox_USE_COIN_VISUALIZATION)
     # create the executable
     SimoxQtApplication(${PROJECT_NAME} "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
     
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${GRASPSTUDIO_BIN_DIR})
-    
-     # install
-    INSTALL(TARGETS ${PROJECT_NAME}
-        DESTINATION ${GRASPSTUDIO_INSTALL_BIN_DIR}
-	COMPONENT Applications
-	)
-        
-    MESSAGE( STATUS ${PROJECT_NAME} " will be placed into " ${GRASPSTUDIO_BIN_DIR})
-    MESSAGE( STATUS ${PROJECT_NAME} " will be installed into " ${GRASPSTUDIO_INSTALL_BIN_DIR})
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
+
+  #######################################################################################
+  ############################ Setup for installation ###################################
+  #######################################################################################
+
+  install(TARGETS ${PROJECT_NAME}
+    # IMPORTANT: Add the library to the "export-set"
+    EXPORT SimoxTargets
+    RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+    COMPONENT dev)
+
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be placed into " ${Simox_BIN_DIR})
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be installed into " ${INSTALL_BIN_DIR})
 ENDIF()
diff --git a/GraspPlanning/examples/GraspQuality/CMakeLists.txt b/GraspPlanning/examples/GraspQuality/CMakeLists.txt
index 9ec1bb765e69ec8420dc0d930452c85550c7781b..f121ef38d3ccb269e652b06b1bee8f7ae9152a00 100644
--- a/GraspPlanning/examples/GraspQuality/CMakeLists.txt
+++ b/GraspPlanning/examples/GraspQuality/CMakeLists.txt
@@ -4,32 +4,39 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4)
 
 CMAKE_POLICY(VERSION 2.6)
 
+INCLUDE(${Simox_DIR}/CMakeModules/SimoxMacros.cmake)
+
 IF(Simox_VISUALIZATION AND Simox_USE_COIN_VISUALIZATION)
      
-	# the variable "demo_SRCS" contains all .cpp files of this project
-	FILE(GLOB demo_SRCS ${PROJECT_SOURCE_DIR}/GraspQualityDemo.cpp ${PROJECT_SOURCE_DIR}/GraspQualityWindow.cpp)
-	FILE(GLOB demo_INCS ${PROJECT_SOURCE_DIR}/GraspQualityWindow.h)
-	
-    set(GUI_MOC_HDRS
-        ${PROJECT_SOURCE_DIR}/GraspQualityWindow.h
-    )
-    set(GUI_UIS
-        ${PROJECT_SOURCE_DIR}/GraspQuality.ui
-    )
-
+  # the variable "demo_SRCS" contains all .cpp files of this project
+  FILE(GLOB demo_SRCS ${PROJECT_SOURCE_DIR}/GraspQualityDemo.cpp ${PROJECT_SOURCE_DIR}/GraspQualityWindow.cpp)
+  FILE(GLOB demo_INCS ${PROJECT_SOURCE_DIR}/GraspQualityWindow.h)
+  
+  set(GUI_MOC_HDRS
+      ${PROJECT_SOURCE_DIR}/GraspQualityWindow.h
+  )
+  set(GUI_UIS
+      ${PROJECT_SOURCE_DIR}/GraspQuality.ui
+  )
+  
+  
+  # create the executable
+  SimoxQtApplication(${PROJECT_NAME} "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
+   
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
+  
+  #######################################################################################
+  ############################ Setup for installation ###################################
+  #######################################################################################
+  
+  install(TARGETS ${PROJECT_NAME}
+    # IMPORTANT: Add the library to the "export-set"
+    EXPORT SimoxTargets
+    RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+    COMPONENT dev)
+  
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be placed into " ${Simox_BIN_DIR})
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be installed into " ${INSTALL_BIN_DIR})
 
-    # create the executable
-    SimoxQtApplication(${PROJECT_NAME} "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
-     
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${GRASPSTUDIO_BIN_DIR})
-    
-     # install
-    INSTALL(TARGETS ${PROJECT_NAME}
-        DESTINATION ${GRASPSTUDIO_INSTALL_BIN_DIR}
-	COMPONENT Applications
-	)
-        
-    MESSAGE( STATUS ${PROJECT_NAME} " will be placed into " ${GRASPSTUDIO_BIN_DIR})
-    MESSAGE( STATUS ${PROJECT_NAME} " will be installed into " ${GRASPSTUDIO_INSTALL_BIN_DIR})
 ENDIF()
diff --git a/GraspPlanning/examples/MATGraspPlanner/CMakeLists.txt b/GraspPlanning/examples/MATGraspPlanner/CMakeLists.txt
index 26fb7857a4b0c4aec07e75580e3aa7ab2b5127ff..4078ec1ad72e11675ee5b3b2bb6b23e87f5d90d8 100644
--- a/GraspPlanning/examples/MATGraspPlanner/CMakeLists.txt
+++ b/GraspPlanning/examples/MATGraspPlanner/CMakeLists.txt
@@ -3,32 +3,38 @@ PROJECT ( MatGraspPlanner )
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4)
 
 CMAKE_POLICY(VERSION 2.6)
-	
-IF(Simox_VISUALIZATION AND Simox_USE_COIN_VISUALIZATION)
 
-	# the variable "demo_SRCS" contains all .cpp files of this project
-	FILE(GLOB demo_SRCS ${PROJECT_SOURCE_DIR}/MatGraspPlannerApp.cpp ${PROJECT_SOURCE_DIR}/MatGraspPlannerWindow.cpp)
-	FILE(GLOB demo_INCS ${PROJECT_SOURCE_DIR}/MatGraspPlannerWindow.h)
-	
-    set(GUI_MOC_HDRS
-        ${PROJECT_SOURCE_DIR}/MatGraspPlannerWindow.h
-    )
-    set(GUI_UIS
-        ${PROJECT_SOURCE_DIR}/MatGraspPlanner.ui
-    )
-    
-    # create the executable
-    SimoxQtApplication(${PROJECT_NAME} "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
-    
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${GRASPSTUDIO_BIN_DIR})
+INCLUDE(${Simox_DIR}/CMakeModules/SimoxMacros.cmake)
+
+IF(Simox_VISUALIZATION AND Simox_USE_COIN_VISUALIZATION)
+  
+  # the variable "demo_SRCS" contains all .cpp files of this project
+  FILE(GLOB demo_SRCS ${PROJECT_SOURCE_DIR}/MatGraspPlannerApp.cpp ${PROJECT_SOURCE_DIR}/MatGraspPlannerWindow.cpp)
+  FILE(GLOB demo_INCS ${PROJECT_SOURCE_DIR}/MatGraspPlannerWindow.h)
+  
+  set(GUI_MOC_HDRS
+      ${PROJECT_SOURCE_DIR}/MatGraspPlannerWindow.h
+  )
+  set(GUI_UIS
+      ${PROJECT_SOURCE_DIR}/MatGraspPlanner.ui
+  )
+  
+  # create the executable
+  SimoxQtApplication(${PROJECT_NAME} "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
     
-     # install
-    INSTALL(TARGETS ${PROJECT_NAME}
-        DESTINATION ${GRASPSTUDIO_INSTALL_BIN_DIR}
-	COMPONENT Applications
-	)
-        
-    MESSAGE( STATUS ${PROJECT_NAME} " will be placed into " ${GRASPSTUDIO_BIN_DIR})
-    MESSAGE( STATUS ${PROJECT_NAME} " will be installed into " ${GRASPSTUDIO_INSTALL_BIN_DIR})
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
+  
+  #######################################################################################
+  ############################ Setup for installation ###################################
+  #######################################################################################
+  
+  install(TARGETS ${PROJECT_NAME}
+    # IMPORTANT: Add the library to the "export-set"
+    EXPORT SimoxTargets
+    RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+    COMPONENT dev)
+  
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be placed into " ${Simox_BIN_DIR})
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be installed into " ${INSTALL_BIN_DIR})
 ENDIF()
diff --git a/GraspPlanning/examples/MATGraspPlanner/MatGraspPlannerWindow.h b/GraspPlanning/examples/MATGraspPlanner/MatGraspPlannerWindow.h
index 8456a7167108360e597610fc5417bc46cac1ff20..dd56707d1e5e4d51428b707e71d7c6dd4ba2c020 100644
--- a/GraspPlanning/examples/MATGraspPlanner/MatGraspPlannerWindow.h
+++ b/GraspPlanning/examples/MATGraspPlanner/MatGraspPlannerWindow.h
@@ -48,13 +48,13 @@
 
 #include "ui_MatGraspPlanner.h"
 
-#include "GraspPlanner/MATPlanner/TestCases.h"
-#include "GraspPlanner/MATPlanner/StrOutHelpers.h"
+#include "GraspPlanning/GraspPlanner/MATPlanner/TestCases.h"
+#include "GraspPlanning/GraspPlanner/MATPlanner/StrOutHelpers.h"
 #include "GraspPlanning/GraspStudio.h"
 #include "GraspPlanning/GraspQuality/GraspQualityMeasureWrenchSpace.h"
-#include "GraspPlanner/MATPlanner/MatGraspPlanner.h"  
-#include "GraspPlanner/MATPlanner/MeshConverter.h"
-#include "GraspPlanner/MATPlanner/GraspPlannerConfiguration.h"
+#include "GraspPlanning/GraspPlanner/MATPlanner/MatGraspPlanner.h"  
+#include "GraspPlanning/GraspPlanner/MATPlanner/MeshConverter.h"
+#include "GraspPlanning/GraspPlanner/MATPlanner/GraspPlannerConfiguration.h"
 
 class MatGraspPlannerWindow : public QMainWindow
 {
diff --git a/MotionPlanning/CMakeLists.txt b/MotionPlanning/CMakeLists.txt
index 83e34845d7d741363afce6846aaadb35be20befd..8b57feace0222cd523c4d4090d3d6cc47007d62c 100644
--- a/MotionPlanning/CMakeLists.txt
+++ b/MotionPlanning/CMakeLists.txt
@@ -3,15 +3,23 @@ PROJECT ( Saba )
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6.2)
 CMAKE_POLICY(VERSION 2.6)
 
-MESSAGE (STATUS "\n ***** CONFIGURING Simox project Saba *****")
-INCLUDE (config.cmake)
-
-#MESSAGE(STATUS "Saba: using VirtualRobotDir: ${SABA_VirtualRobotDir}")
-#MESSAGE(STATUS "      Simox_LIB_DIR: ${Simox_LIB_DIR}")
-#MESSAGE(STATUS "      Simox_BIN_DIR: ${Simox_BIN_DIR}")
-#MESSAGE ("Simox_USE_COIN_VISUALIZATION:${Simox_USE_COIN_VISUALIZATION}")
-
-
+MESSAGE (STATUS "***** CONFIGURING Simox project Saba *****")
+
+########################### TESTING #####################################
+MACRO(ADD_SABA_TEST TEST_NAME)
+    INCLUDE_DIRECTORIES(${Simox_EXTERNAL_INCLUDE_DIRS})
+    INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR})
+    INCLUDE_DIRECTORIES("${PROJECT_SOURCE_DIR}/..")
+    ADD_DEFINITIONS(${Simox_EXTERNAL_LIBRARY_FLAGS})
+    ADD_EXECUTABLE(${TEST_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/${TEST_NAME}.cpp)
+    TARGET_LINK_LIBRARIES(${TEST_NAME} VirtualRobot Saba ${Simox_EXTERNAL_LIBRARIES})
+    SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_TEST_DIR})
+    SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES FOLDER "Saba Tests")
+    ADD_TEST(NAME Saba_${TEST_NAME}
+    	        COMMAND ${Simox_TEST_DIR}/${TEST_NAME} --output_format=XML --log_level=all --report_level=no)
+ENDMACRO(ADD_SABA_TEST)
+
+#################################### FILES ##################################
 SET(SOURCES
 CSpace/CSpace.cpp
 CSpace/CSpaceSampled.cpp
@@ -53,8 +61,8 @@ PostProcessing/PathProcessor.h
 PostProcessing/ShortcutProcessor.h
 PostProcessing/PathProcessingThread.h
 ApproachDiscretization.h
-${SABA_SimoxDir}/VirtualRobot/definesVR.h
 )
+#../VirtualRobot/definesVR.h
 
 
 if (Simox_USE_COIN_VISUALIZATION)
@@ -69,43 +77,19 @@ if (Simox_USE_COIN_VISUALIZATION)
 	)
 endif (Simox_USE_COIN_VISUALIZATION)
 
-# this var is considered for generating Simox_INCLUDE_DIRS
-SET(SABA_INCLUDE_DIRS "${SABA_DIR}")
-
-INCLUDE_DIRECTORIES(${SABA_DIR})
-LINK_DIRECTORIES (${Simox_LIB_DIR})
-
-INCLUDE_DIRECTORIES(${VirtualRobot_EXTERNAL_INCLUDE_DIRS})
-ADD_DEFINITIONS(${VirtualRobot_EXTERNAL_LIBRARY_FLAGS})
+INCLUDE_DIRECTORIES(${Simox_EXTERNAL_INCLUDE_DIRS})
+ADD_DEFINITIONS(${Simox_EXTERNAL_LIBRARY_FLAGS})
 
 ADD_LIBRARY (Saba SHARED ${SOURCES} ${INCLUDES})
 #MESSAGE("VirtualRobot_ROBOT_LINK_LIBRARIES:" ${VirtualRobot_EXTERNAL_LIBRARIES})
-TARGET_LINK_LIBRARIES (Saba VirtualRobot ${VirtualRobot_EXTERNAL_LIBRARIES})
-
-IF (NOT DEFINED Simox_VERSION)
-	set(Saba_MAJOR_VERSION 1)
-	set(Saba_MINOR_VERSION 0)
-	set(Saba_PATCH_VERSION 0)
-ELSE()
-	set(Saba_MAJOR_VERSION ${Simox_MAJOR_VERSION})
-	set(Saba_MINOR_VERSION ${Simox_MINOR_VERSION})
-	set(Saba_PATCH_VERSION ${Simox_PATCH_VERSION})
-ENDIF()
-set(Saba_VERSION
-    ${Saba_MAJOR_VERSION}.${Saba_MINOR_VERSION}.${Saba_PATCH_VERSION})
-set_target_properties( Saba  PROPERTIES
-	VERSION ${Saba_VERSION}
-	SOVERSION ${Saba_MAJOR_VERSION}
-	)
-MESSAGE(STATUS " * Saba Version: ${Saba_VERSION}")
-
+TARGET_LINK_LIBRARIES (Saba VirtualRobot ${Simox_EXTERNAL_LIBRARIES})
 
 # .DLL path
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${SABA_BIN_DIR})
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
 # .so path
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${SABA_LIB_DIR})
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${Simox_LIB_DIR})
 # .lib path (this is needed for setting the DLL-import library path on windows)
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${SABA_LIB_DIR})
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${Simox_LIB_DIR})
 
 # include examples
 ADD_SUBDIRECTORY(examples/)
@@ -113,14 +97,19 @@ ADD_SUBDIRECTORY(examples/)
 # include unit tests
 ADD_SUBDIRECTORY(tests/)
 
-INSTALL(TARGETS Saba
-  RUNTIME DESTINATION ${SABA_INSTALL_BIN_DIR}
-  LIBRARY DESTINATION ${SABA_INSTALL_LIB_DIR}
-  ARCHIVE DESTINATION ${SABA_INSTALL_LIB_DIR}
-  COMPONENT Libraries
-  )
+#######################################################################################
+############################ Setup for installation ###################################
+#######################################################################################
 
-INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR} DESTINATION ${SABA_INSTALL_HEADER_DIR}
+install(TARGETS ${PROJECT_NAME}
+  # IMPORTANT: Add the library to the "export-set"
+  EXPORT SimoxTargets
+  RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+  LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT shlib
+  ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" COMPONENT library
+  COMPONENT dev)
+
+INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR} DESTINATION ${Simox_INSTALL_HEADER_DIR}
 	COMPONENT Headers
         FILES_MATCHING PATTERN "*.h"
         PATTERN ".svn" EXCLUDE
@@ -130,4 +119,4 @@ INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR} DESTINATION ${SABA_INSTALL_HEADER_DIR}
         PATTERN "data" EXCLUDE
         PATTERN "examples" EXCLUDE
 	)
-
+MESSAGE (STATUS "***** Finished CONFIGURING Simox project Saba *****\n")
diff --git a/MotionPlanning/PostProcessing/ShortcutProcessor.cpp b/MotionPlanning/PostProcessing/ShortcutProcessor.cpp
index 55cabbc74f67276fc0161dc4f2ffe8ed21462ec4..e0b781591b6001cbb8d8c1482d505d08b5f8e264 100644
--- a/MotionPlanning/PostProcessing/ShortcutProcessor.cpp
+++ b/MotionPlanning/PostProcessing/ShortcutProcessor.cpp
@@ -1,7 +1,7 @@
 
 #include "ShortcutProcessor.h"
-#include "CSpace/CSpaceSampled.h"
-#include "CSpace/CSpacePath.h"
+#include "MotionPlanning/CSpace/CSpaceSampled.h"
+#include "MotionPlanning/CSpace/CSpacePath.h"
 #include <vector>
 #include <time.h>
 #include <math.h>
diff --git a/MotionPlanning/Visualization/CoinVisualization/CoinRrtWorkspaceVisualization.cpp b/MotionPlanning/Visualization/CoinVisualization/CoinRrtWorkspaceVisualization.cpp
index 10a1e4096757fc52ef295c1a384640e71464ebe9..79a56f135a6264f166ce1c1de4f9fb71e42ee159 100644
--- a/MotionPlanning/Visualization/CoinVisualization/CoinRrtWorkspaceVisualization.cpp
+++ b/MotionPlanning/Visualization/CoinVisualization/CoinRrtWorkspaceVisualization.cpp
@@ -1,8 +1,8 @@
 
 #include "CoinRrtWorkspaceVisualization.h"
-#include "CSpace/CSpacePath.h"
-#include "CSpace/CSpaceTree.h"
-#include "CSpace/CSpaceNode.h"
+#include "MotionPlanning/CSpace/CSpacePath.h"
+#include "MotionPlanning/CSpace/CSpaceTree.h"
+#include "MotionPlanning/CSpace/CSpaceNode.h"
 
 #include <Inventor/SoPrimitiveVertex.h>
 #include <Inventor/SbLinear.h>
diff --git a/MotionPlanning/Visualization/RrtWorkspaceVisualization.cpp b/MotionPlanning/Visualization/RrtWorkspaceVisualization.cpp
index 3145f0201b84816e184fd9c6cd76abc385172444..093519f0d106687de6dc72e47b8447eed85f6ef7 100644
--- a/MotionPlanning/Visualization/RrtWorkspaceVisualization.cpp
+++ b/MotionPlanning/Visualization/RrtWorkspaceVisualization.cpp
@@ -1,6 +1,6 @@
 
 #include "RrtWorkspaceVisualization.h"
-#include "CSpace/CSpace.h"
+#include "MotionPlanning/CSpace/CSpace.h"
 #include "VirtualRobot/Nodes/RobotNode.h"
 
 namespace Saba {
diff --git a/MotionPlanning/config.cmake b/MotionPlanning/config.cmake
deleted file mode 100644
index e608cd999310200f5cb6cdb0867afc5f0ca47155..0000000000000000000000000000000000000000
--- a/MotionPlanning/config.cmake
+++ /dev/null
@@ -1,58 +0,0 @@
-IF (NOT SABA_CONFIGURED)
-
-	# defines SABA_CONFIGURED variable which indicates that this config file has already been included
-	SET(SABA_CONFIGURED TRUE)
-    
-    GET_FILENAME_COMPONENT (CurrentSabaPath ${CMAKE_CURRENT_LIST_FILE} PATH)
-    SET(SABA_DIR ${CurrentSabaPath})
-    
-    ############################# SETUP PATHS TO Simox #############################
-    SET(Simox_DIR_STANDARD "${CurrentSabaPath}/..")
-    # be sure to have the absolute path
-    get_filename_component(Simox_DIR_STANDARD ${Simox_DIR_STANDARD} ABSOLUTE)
-    
-    SET (SABA_SimoxDir ${Simox_DIR_STANDARD} CACHE STRING "Path to Simox used by SaBa")
-    
-    INCLUDE(${SABA_SimoxDir}/config.cmake)
-    
-    IF(NOT DEFINED Simox_BUILD_DIRECTORY)
-    	get_filename_component(Simox_BUILD_DIRECTORY ${Simox_BUILD_DIRECTORY} ABSOLUTE)
-    	SET(Simox_BUILD_DIRECTORY "${SABA_SimoxDir}/build" CACHE STRING "Simox build directory used by SaBa")
-    	SET(Simox_LIB_DIR ${Simox_BUILD_DIRECTORY}/lib)
-    	SET(Simox_BIN_DIR ${Simox_BUILD_DIRECTORY}/bin)
-    ENDIF()
-    
-    ############################# SETUP PATHS #############################
-    #ADD_DEFINITIONS(-DSABA_BASE_DIR="${SABA_DIR}")
-    
-    # Define, where to put the binaries
-    SET(SABA_LIB_DIR ${Simox_LIB_DIR})
-    SET(SABA_BIN_DIR ${Simox_BIN_DIR})
-    MESSAGE(STATUS "** SABA_LIB_DIR: ${SABA_LIB_DIR}")
-    MESSAGE(STATUS "** SABA_BIN_DIR: ${SABA_BIN_DIR}")
-    
-    # Define, where to install the binaries
-    SET(SABA_INSTALL_LIB_DIR ${Simox_INSTALL_LIB_DIR})
-    SET(SABA_INSTALL_BIN_DIR ${Simox_INSTALL_BIN_DIR})
-    SET(SABA_INSTALL_HEADER_DIR ${Simox_INSTALL_HEADER_DIR})
-    
-    #######################################################################
-    # Setup for testing
-    #######################################################################
-    ENABLE_TESTING()
-    INCLUDE(CTest)
-    
-    MACRO(ADD_SABA_TEST TEST_NAME)
-    	INCLUDE_DIRECTORIES(${VirtualRobot_EXTERNAL_INCLUDE_DIRS})
-    	ADD_DEFINITIONS(${VirtualRobot_EXTERNAL_LIBRARY_FLAGS})
-    	ADD_EXECUTABLE(${TEST_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/${TEST_NAME}.cpp)
-    	TARGET_LINK_LIBRARIES(${TEST_NAME} VirtualRobot Saba ${VirtualRobot_LINK_LIBRARIES})
-    	SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${VirtualRobot_TEST_DIR})
-    	SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES FOLDER "Saba Tests")
-    	#IF(NOT UNIX)
-    	#   SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
-    	#ENDIF(NOT UNIX)
-        ADD_TEST(NAME Saba_${TEST_NAME}
-    	         COMMAND ${VirtualRobot_TEST_DIR}/${TEST_NAME} --output_format=XML --log_level=all --report_level=no)
-    ENDMACRO(ADD_SABA_TEST)
-ENDIF(NOT SABA_CONFIGURED)
diff --git a/MotionPlanning/examples/GraspRRT/CMakeLists.txt b/MotionPlanning/examples/GraspRRT/CMakeLists.txt
index f2617501bffe08178e2d4ebd63700c83b10e549f..aebe631a9b322293e3176f36b96e957686cb4306 100644
--- a/MotionPlanning/examples/GraspRRT/CMakeLists.txt
+++ b/MotionPlanning/examples/GraspRRT/CMakeLists.txt
@@ -4,35 +4,40 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4)
 
 CMAKE_POLICY(VERSION 2.6)
 
+INCLUDE(${Simox_DIR}/CMakeModules/SimoxMacros.cmake)
+
 IF(Simox_VISUALIZATION AND Simox_USE_COIN_VISUALIZATION)
 	    
-	# the variable "demo_SRCS" contains all .cpp files of this project
-	FILE(GLOB demo_SRCS ${PROJECT_SOURCE_DIR}/GraspRrtDemo.cpp ${PROJECT_SOURCE_DIR}/GraspRrtWindow.cpp)
-	FILE(GLOB demo_INCS ${PROJECT_SOURCE_DIR}/GraspRrtWindow.h)
-
+  # the variable "demo_SRCS" contains all .cpp files of this project
+  FILE(GLOB demo_SRCS ${PROJECT_SOURCE_DIR}/GraspRrtDemo.cpp ${PROJECT_SOURCE_DIR}/GraspRrtWindow.cpp)
+  FILE(GLOB demo_INCS ${PROJECT_SOURCE_DIR}/GraspRrtWindow.h)
   
-    ################################## moc'ing ##############################
-    set(GUI_MOC_HDRS
-        ${PROJECT_SOURCE_DIR}/GraspRrtWindow.h
-    )
-
-    set(GUI_UIS
-        ${PROJECT_SOURCE_DIR}/GraspRrt.ui
-    )
+  
+  ################################## moc'ing ##############################
+  set(GUI_MOC_HDRS
+      ${PROJECT_SOURCE_DIR}/GraspRrtWindow.h
+  )
+  
+  set(GUI_UIS
+      ${PROJECT_SOURCE_DIR}/GraspRrt.ui
+  )
+  
+  SimoxQtApplication("${PROJECT_NAME}" "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
+  
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
 
-    SimoxQtApplication("${PROJECT_NAME}" "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
+  #######################################################################################
+  ############################ Setup for installation ###################################
+  #######################################################################################
 
-	SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
+  install(TARGETS ${PROJECT_NAME}
+    # IMPORTANT: Add the library to the "export-set"
+    EXPORT SimoxTargets
+    RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+    COMPONENT dev)
 
-     # install
-     INSTALL(TARGETS ${PROJECT_NAME}
-        DESTINATION ${SABA_INSTALL_BIN_DIR}
-	COMPONENT Applications
-	)
-        
-    MESSAGE( STATUS ${PROJECT_NAME} " will be placed into " ${Simox_BIN_DIR})
-    MESSAGE( STATUS ${PROJECT_NAME} " will be installed into " ${SABA_INSTALL_BIN_DIR})
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be placed into " ${Simox_BIN_DIR})
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be installed into " ${INSTALL_BIN_DIR})
 
-  
 ENDIF()
diff --git a/MotionPlanning/examples/IKRRT/CMakeLists.txt b/MotionPlanning/examples/IKRRT/CMakeLists.txt
index e1d001e697d40c521c7f9ca88422109e590f17cd..efd35d0d53abf6c4f90a71835767a69629e22d7d 100644
--- a/MotionPlanning/examples/IKRRT/CMakeLists.txt
+++ b/MotionPlanning/examples/IKRRT/CMakeLists.txt
@@ -4,11 +4,11 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4)
 
 CMAKE_POLICY(VERSION 2.6)
 
+INCLUDE(${Simox_DIR}/CMakeModules/SimoxMacros.cmake)
+
 IF(Simox_VISUALIZATION AND Simox_USE_COIN_VISUALIZATION)
-    LINK_DIRECTORIES(${Simox_LIB_DIR})
-    
-	    
-	# the variable "demo_SRCS" contains all .cpp files of this project
+ 
+ 	# the variable "demo_SRCS" contains all .cpp files of this project
 	FILE(GLOB demo_SRCS ${PROJECT_SOURCE_DIR}/IKRRTDemo.cpp ${PROJECT_SOURCE_DIR}/IKRRTWindow.cpp)
 	FILE(GLOB demo_INCS ${PROJECT_SOURCE_DIR}/IKRRTWindow.h)
 
@@ -22,28 +22,25 @@ IF(Simox_VISUALIZATION AND Simox_USE_COIN_VISUALIZATION)
         ${PROJECT_SOURCE_DIR}/IKRRT.ui
     )
 
-    qt4_wrap_cpp(demo_SRCS ${GUI_MOC_HDRS})
-    qt4_wrap_ui(UI_HEADER ${GUI_UIS})
-    get_filename_component(UI_HEADER_DIR ${UI_HEADER} PATH)
-    list(APPEND demo_INCS ${UI_HEADER})
 
-    include_directories(${UI_HEADER_DIR})
+    # create the executable
+    VirtualRobotQtApplication(${PROJECT_NAME} "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
+    TARGET_LINK_LIBRARIES(${PROJECT_NAME} Saba)
+    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
+    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
 
 
-    ADD_EXECUTABLE(${PROJECT_NAME} ${demo_SRCS} ${demo_INCS})
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
+  #######################################################################################
+  ############################ Setup for installation ###################################
+  #######################################################################################
+
+  install(TARGETS ${PROJECT_NAME}
+    # IMPORTANT: Add the library to the "export-set"
+    EXPORT SimoxTargets
+    RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+    COMPONENT dev)
+
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be placed into " ${Simox_BIN_DIR})
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be installed into " ${INSTALL_BIN_DIR})
 
-    TARGET_LINK_LIBRARIES(${PROJECT_NAME} VirtualRobot Saba ${Simox_VISUALIZATION_LIBS})
-    INCLUDE_DIRECTORIES(${Simox_VISUALIZATION_INCLUDE_PATHS})
-    INCLUDE(${QT_USE_FILE})
-    ADD_DEFINITIONS(${Simox_VISUALIZATION_COMPILE_FLAGS})
-
-    INSTALL(TARGETS ${PROJECT_NAME}
-        DESTINATION ${SABA_INSTALL_BIN_DIR}
-	COMPONENT Applications
-	)
-        
-    MESSAGE( STATUS ${PROJECT_NAME} " will be placed into " ${Simox_BIN_DIR})
-    MESSAGE( STATUS ${PROJECT_NAME} " will be installed into " ${SABA_INSTALL_BIN_DIR})
 ENDIF()
diff --git a/MotionPlanning/examples/MultiThreadedPlanning/CMakeLists.txt b/MotionPlanning/examples/MultiThreadedPlanning/CMakeLists.txt
index dd8f216b9662d7a9e884a263475509e9f89cac0c..ac61f12899696d2b8a2cb91a9b4c832e4c3ad603 100644
--- a/MotionPlanning/examples/MultiThreadedPlanning/CMakeLists.txt
+++ b/MotionPlanning/examples/MultiThreadedPlanning/CMakeLists.txt
@@ -4,6 +4,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6.0)
 
 CMAKE_POLICY(VERSION 2.6)
 
+INCLUDE(${Simox_DIR}/CMakeModules/SimoxMacros.cmake)
 
 IF(Simox_VISUALIZATION AND Simox_USE_COIN_VISUALIZATION)
 	    
@@ -21,19 +22,24 @@ IF(Simox_VISUALIZATION AND Simox_USE_COIN_VISUALIZATION)
 	  ${PROJECT_SOURCE_DIR}/MTPlanning.ui
 	)
     
-	SimoxQtApplication("${PROJECT_NAME}" "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
-	
-	SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
-	SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
+  VirtualRobotQtApplication(${PROJECT_NAME} "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
+  TARGET_LINK_LIBRARIES(${PROJECT_NAME} Saba)
+  
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
 	
-	 # install
-	INSTALL(TARGETS ${PROJECT_NAME}
-	    DESTINATION ${SABA_INSTALL_BIN_DIR}
-	    COMPONENT Applications
-	)
-	    
-	MESSAGE( STATUS ${PROJECT_NAME} " will be placed into " ${Simox_BIN_DIR})
-	MESSAGE( STATUS ${PROJECT_NAME} " will be installed into " ${SABA_INSTALL_BIN_DIR})
+  #######################################################################################
+  ############################ Setup for installation ###################################
+  #######################################################################################
+
+  install(TARGETS ${PROJECT_NAME}
+    # IMPORTANT: Add the library to the "export-set"
+    EXPORT SimoxTargets
+    RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+    COMPONENT dev)
+
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be placed into " ${Simox_BIN_DIR})
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be installed into " ${INSTALL_BIN_DIR})
 
   
 ENDIF()
diff --git a/MotionPlanning/examples/MultiThreadedPlanning/MTPlanningScenery.cpp b/MotionPlanning/examples/MultiThreadedPlanning/MTPlanningScenery.cpp
index 50e2bbf12cef648e6492ea7dcced9585d2b248c4..f4c0404b5b6563a26600b6a433f291d4686a117d 100644
--- a/MotionPlanning/examples/MultiThreadedPlanning/MTPlanningScenery.cpp
+++ b/MotionPlanning/examples/MultiThreadedPlanning/MTPlanningScenery.cpp
@@ -11,9 +11,9 @@
 #include "VirtualRobot/RobotNodeSet.h"
 #include "VirtualRobot/RuntimeEnvironment.h"
 #include "VirtualRobot/Obstacle.h"
-#include <Planner/Rrt.h>
-#include <Visualization/CoinVisualization/CoinRrtWorkspaceVisualization.h>
-#include <PostProcessing/ShortcutProcessor.h>
+#include <MotionPlanning/Planner/Rrt.h>
+#include <MotionPlanning/Visualization/CoinVisualization/CoinRrtWorkspaceVisualization.h>
+#include <MotionPlanning/PostProcessing/ShortcutProcessor.h>
 #include <VirtualRobot/CollisionDetection/CDManager.h>
 
 #include <Inventor/sensors/SoTimerSensor.h>
diff --git a/MotionPlanning/examples/MultiThreadedPlanning/MTPlanningScenery.h b/MotionPlanning/examples/MultiThreadedPlanning/MTPlanningScenery.h
index 65fed0f32b64877d37908e6846244a2aa6a00a32..a39c4f64a33d6f3681cd6df30a2fdf5c8e02bccd 100644
--- a/MotionPlanning/examples/MultiThreadedPlanning/MTPlanningScenery.h
+++ b/MotionPlanning/examples/MultiThreadedPlanning/MTPlanningScenery.h
@@ -5,13 +5,13 @@
 #include <string.h>
 #include <time.h>
 
-#include <Planner/PlanningThread.h>
-#include <PostProcessing/PathProcessingThread.h>
+#include <MotionPlanning/Planner/PlanningThread.h>
+#include <MotionPlanning/PostProcessing/PathProcessingThread.h>
 
-#include <CSpace/CSpaceSampled.h>
-#include <CSpace/CSpaceNode.h>
-#include <Planner/MotionPlanner.h>
-#include <Planner/BiRrt.h>
+#include <MotionPlanning/CSpace/CSpaceSampled.h>
+#include <MotionPlanning/CSpace/CSpaceNode.h>
+#include <MotionPlanning/Planner/MotionPlanner.h>
+#include <MotionPlanning/Planner/BiRrt.h>
 #include <Inventor/Qt/viewers/SoQtExaminerViewer.h>
 
 #define ROBOT_DIM 3
diff --git a/MotionPlanning/examples/MultiThreadedPlanning/MTPlanningWindow.h b/MotionPlanning/examples/MultiThreadedPlanning/MTPlanningWindow.h
index ef21d9e62ed70b2e7ec5d11776181b58a2e51288..012be62dd2a3535455735a5e6428da8a8ec40c19 100644
--- a/MotionPlanning/examples/MultiThreadedPlanning/MTPlanningWindow.h
+++ b/MotionPlanning/examples/MultiThreadedPlanning/MTPlanningWindow.h
@@ -2,7 +2,7 @@
 #ifndef __MTPlanning_WINDOW_H_
 #define __MTPlanning_WINDOW_H_
 
-#include "Saba.h"
+#include "MotionPlanning/Saba.h"
 
 #include "MTPlanningScenery.h"
 #include <VirtualRobot/Robot.h>
diff --git a/MotionPlanning/examples/RRT/CMakeLists.txt b/MotionPlanning/examples/RRT/CMakeLists.txt
index 541f2dff2806a6c0acb60bb97986bb21fdd0a484..a7c0ef0e58166382fa247f17b4cba8e174a89bb1 100644
--- a/MotionPlanning/examples/RRT/CMakeLists.txt
+++ b/MotionPlanning/examples/RRT/CMakeLists.txt
@@ -4,31 +4,33 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4)
 
 CMAKE_POLICY(VERSION 2.6)
 
-INCLUDE_DIRECTORIES(${SABA_DIR})
+INCLUDE(${Simox_DIR}/CMakeModules/SimoxMacros.cmake)
 
 IF(Simox_VISUALIZATION AND Simox_USE_COIN_VISUALIZATION)
+    
+  # the variable "demo_SRCS" contains all .cpp files of this project
+  FILE(GLOB demo_SRCS ${PROJECT_SOURCE_DIR}/RRTdemo.cpp)
+    
+  VirtualRobotQtApplication(${PROJECT_NAME} "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
+  TARGET_LINK_LIBRARIES(${PROJECT_NAME} Saba)
+  
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
 
-    LINK_DIRECTORIES(${Simox_LIB_DIR})
 
-    # the variable "demo_SRCS" contains all .cpp files of this project
-	FILE(GLOB demo_SRCS ${PROJECT_SOURCE_DIR}/RRTdemo.cpp)
-    
-    ADD_EXECUTABLE(${PROJECT_NAME} ${demo_SRCS})
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
-
-    TARGET_LINK_LIBRARIES(${PROJECT_NAME} VirtualRobot Saba ${Simox_VISUALIZATION_LIBS})
-    INCLUDE_DIRECTORIES(${Simox_VISUALIZATION_INCLUDE_PATHS})
-    INCLUDE(${QT_USE_FILE})
-    ADD_DEFINITIONS(${Simox_VISUALIZATION_COMPILE_FLAGS})
-
-    INSTALL(TARGETS ${PROJECT_NAME}
-        DESTINATION ${SABA_INSTALL_BIN_DIR}
-	COMPONENT Applications
-	)
-        
-    MESSAGE( STATUS ${PROJECT_NAME} " will be placed into " ${Simox_BIN_DIR})
-    MESSAGE( STATUS ${PROJECT_NAME} " will be installed into " ${SABA_INSTALL_BIN_DIR})
+  #######################################################################################
+  ############################ Setup for installation ###################################
+  #######################################################################################
+
+  install(TARGETS ${PROJECT_NAME}
+    # IMPORTANT: Add the library to the "export-set"
+    EXPORT SimoxTargets
+    RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+    COMPONENT dev)
+
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be placed into " ${Simox_BIN_DIR})
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be installed into " ${INSTALL_BIN_DIR})
+
 ELSE()
 	MESSAGE (STATUS "Simox_USE_COIN_VISUALIZATION not defined: Skipping ${PROJECT_NAME}")
 ENDIF()
diff --git a/MotionPlanning/examples/RRT/RRTdemo.cpp b/MotionPlanning/examples/RRT/RRTdemo.cpp
index a57d4dc10745e630ca1ddf3c695d83e264129e68..1c5edcf306f6319c7a9f9eccc5bd7916682573f2 100644
--- a/MotionPlanning/examples/RRT/RRTdemo.cpp
+++ b/MotionPlanning/examples/RRT/RRTdemo.cpp
@@ -7,10 +7,10 @@
 #include <VirtualRobot/XML/RobotIO.h>
 #include <VirtualRobot/Visualization/VisualizationFactory.h>
 #include <VirtualRobot/Visualization/CoinVisualization/CoinVisualization.h>
-#include <Saba.h>
-#include <Planner/Rrt.h>
-#include <Planner/BiRrt.h>
-#include <Visualization/CoinVisualization/CoinRrtWorkspaceVisualization.h>
+#include <MotionPlanning/Saba.h>
+#include <MotionPlanning/Planner/Rrt.h>
+#include <MotionPlanning/Planner/BiRrt.h>
+#include <MotionPlanning/Visualization/CoinVisualization/CoinRrtWorkspaceVisualization.h>
 #include <Inventor/Qt/viewers/SoQtExaminerViewer.h>
 #include <Inventor/nodes/SoSeparator.h>
 #include <Inventor/Qt/SoQt.h>
diff --git a/MotionPlanning/examples/RrtGui/CMakeLists.txt b/MotionPlanning/examples/RrtGui/CMakeLists.txt
index 1b0c4eb284b703763b3cde4df66a7eeecf324170..cd02ab910d97ba31097cb984d8655b03fa70e64d 100644
--- a/MotionPlanning/examples/RrtGui/CMakeLists.txt
+++ b/MotionPlanning/examples/RrtGui/CMakeLists.txt
@@ -4,34 +4,39 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4)
 
 CMAKE_POLICY(VERSION 2.6)
 
-
-INCLUDE(${SABA_SimoxDir}/CMakeModules/SimoxMacros.cmake)
+INCLUDE(${Simox_DIR}/CMakeModules/SimoxMacros.cmake)
 
 IF(Simox_VISUALIZATION AND Simox_USE_COIN_VISUALIZATION)
      
-	# the variable "demo_SRCS" contains all .cpp files of this project
-	FILE(GLOB demo_SRCS ${PROJECT_SOURCE_DIR}/RrtGui.cpp ${PROJECT_SOURCE_DIR}/RrtGuiWindow.cpp)
-	FILE(GLOB demo_INCS ${PROJECT_SOURCE_DIR}/RrtGuiWindow.h)
-	
-    set(GUI_MOC_HDRS
-        ${PROJECT_SOURCE_DIR}/RrtGuiWindow.h
-    )
-    set(GUI_UIS
-        ${PROJECT_SOURCE_DIR}/RrtGui.ui
-    )
+  # the variable "demo_SRCS" contains all .cpp files of this project
+  FILE(GLOB demo_SRCS ${PROJECT_SOURCE_DIR}/RrtGui.cpp ${PROJECT_SOURCE_DIR}/RrtGuiWindow.cpp)
+  FILE(GLOB demo_INCS ${PROJECT_SOURCE_DIR}/RrtGuiWindow.h)
+  
+  set(GUI_MOC_HDRS
+      ${PROJECT_SOURCE_DIR}/RrtGuiWindow.h
+  )
+  set(GUI_UIS
+      ${PROJECT_SOURCE_DIR}/RrtGui.ui
+  )
+  
+  # create the executable
+  VirtualRobotQtApplication(${PROJECT_NAME} "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
+  TARGET_LINK_LIBRARIES(${PROJECT_NAME} Saba)
+  
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
+  
+  #######################################################################################
+  ############################ Setup for installation ###################################
+  #######################################################################################
+  
+  install(TARGETS ${PROJECT_NAME}
+    # IMPORTANT: Add the library to the "export-set"
+    EXPORT SimoxTargets
+    RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+    COMPONENT dev)
+  
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be placed into " ${Simox_BIN_DIR})
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be installed into " ${INSTALL_BIN_DIR})
 
-    # create the executable
-    SimoxQtApplication(${PROJECT_NAME} "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
- 
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${SABA_BIN_DIR})
-    
-     # install
-    INSTALL(TARGETS ${PROJECT_NAME}
-        DESTINATION ${SABA_INSTALL_BIN_DIR}
-	COMPONENT Applications
-	)
-        
-    MESSAGE( STATUS ${PROJECT_NAME} " will be placed into " ${SABA_BIN_DIR})
-    MESSAGE( STATUS ${PROJECT_NAME} " will be installed into " ${SABA_INSTALL_BIN_DIR})
 ENDIF()
diff --git a/SimDynamics/CMakeLists.txt b/SimDynamics/CMakeLists.txt
index c1a023973de836c2b7d810098d27d9adfd094f3c..0f7c71413f229c7d98e79db6208403304cbe19a6 100644
--- a/SimDynamics/CMakeLists.txt
+++ b/SimDynamics/CMakeLists.txt
@@ -3,30 +3,133 @@ PROJECT ( SimDynamics )
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6.2)
 CMAKE_POLICY(VERSION 2.6)
 
-MESSAGE (STATUS "\n ***** CONFIGURING Simox project SimDynamics *****")
-INCLUDE (config.cmake)
+MESSAGE (STATUS "***** CONFIGURING Simox project SimDynamics *****")
+
+
+GET_FILENAME_COMPONENT (CurrentSimDynamicsPath ${CMAKE_CURRENT_LIST_FILE} PATH)
+SET(SimDynamics_DIR ${CurrentSimDynamicsPath})
+SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${SimDynamics_DIR}/CMakeModules)
+
+############################# SETUP PHYSICS ENGINE #############################
+OPTION(SimDynamics_USE_BULLET "Use Bullet Physics Engine" ON)
+SET (SimDynamics_DYNAMICSENGINE FALSE)
+SET (SimDynamics_PHYSICS_LIBRARIES "")
+
+if (SimDynamics_USE_BULLET)
+
+  IF(NOT "$ENV{BULLET_ROOT}" STREQUAL "")
+    MESSAGE (STATUS " ** USING BULLET_ROOT-PATH from environment variable BULLET_ROOT: $ENV{BULLET_ROOT}")
+    file(TO_CMAKE_PATH "$ENV{BULLET_ROOT}" BULLET_ROOT)
+  ENDIF()
+	#SET (SimDynamics_BULLET_ROOT ${Simox_BULLET_ROOT} CACHE PATH "Path to Bullet used by SimDynamics")
+  SET (BULLET_ROOT ${BULLET_ROOT} CACHE PATH "Bullet Path")
+  Find_Package(Bullet)
+  if (BULLET_FOUND)
+      MESSAGE (STATUS " ** Found Bullet at ${BULLET_INCLUDE_DIR}")
+      #MESSAGE (STATUS "BULLET_LIBRARIES: ${BULLET_LIBRARIES}")
+      #MESSAGE (STATUS "BULLET_OPENGL_INCLUDE_DIR: ${BULLET_OPENGL_INCLUDE_DIR}")
+      #MESSAGE (STATUS "BULLET_OpenGLSupport_LIBRARY_debug: ${BULLET_OpenGLSupport_LIBRARY_debug}")
+      SET(SIMDYNAMICS_INCLUDE_DIRS "${BULLET_INCLUDE_DIR}" "${BULLET_INCLUDE_DIR}/bullet" "${BULLET_DEMOS_INCLUDE_DIR}" "${BULLET_OPENGL_INCLUDE_DIR}")# PARENT_SCOPE)
+     	
+     	INCLUDE_DIRECTORIES( 
+          ${BULLET_INCLUDE_DIR}
+          ${BULLET_INCLUDE_DIR}/bullet
+          ${BULLET_DEMOS_INCLUDE_DIR}
+          ${BULLET_OPENGL_INCLUDE_DIR}
+      )
+      OPTION( SimDynamics_USE_BULLET_DOUBLE_PRECISION "Use Bullet Engine built with double precision" OFF )
+      OPTION(SimDynamics_USE_BULLET_USE_GLUT "Use Glut"	ON)
+      IF( SimDynamics_USE_BULLET_DOUBLE_PRECISION )
+          ADD_DEFINITIONS( -DBT_USE_DOUBLE_PRECISION)
+          SET(SIMDYNAMICS_COMPILE_FLAGS "${SIMDYNAMICS_COMPILE_FLAGS}" "-DBT_USE_DOUBLE_PRECISION" PARENT_SCOPE)
+      ENDIF( SimDynamics_USE_BULLET_DOUBLE_PRECISION )
+      SET (SimDynamics_PHYSICS_LIBRARIES "${BULLET_LIBRARIES}")
+      SET (SimDynamics_DYNAMICSENGINE TRUE)
+      
+      IF (SimDynamics_USE_BULLET_USE_GLUT)
+        FIND_PACKAGE(OpenGL)
+        IF (OPENGL_FOUND)
+          MESSAGE (STATUS " ** OPENGL FOUND lib:${OPENGL_gl_LIBRARY}")
+        ENDIF()
+        IF (OPENGL_GLU_FOUND)
+          MESSAGE (STATUS " ** OPENGL_GLU FOUND lib:${OPENGL_glu_LIBRARY}")
+        ENDIF()
+
+        FIND_PACKAGE(GLUT)
+        IF (GLUT_FOUND)
+            MESSAGE(STATUS " ** GLUT FOUND: ${GLUT_glut_LIBRARY}")
+            SET(SimDynamics_PHYSICS_LIBRARIES ${SimDynamics_PHYSICS_LIBRARIES} ${GLUT_glut_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY})        
+        ELSE (GLUT_FOUND)
+          SET( GLUT_glut_LIBRARY "" CACHE PATH "Glut library." )
+        ENDIF (GLUT_FOUND)
+
+      	IF (WIN32)
+      	    INCLUDE_DIRECTORIES(${GLUT_INCLUDE_DIR})
+      	    SET(SIMDYNAMICS_INCLUDE_DIRS "${SIMDYNAMICS_INCLUDE_DIRS}" "${GLUT_INCLUDE_DIR}")# PARENT_SCOPE)
+      	ELSE (WIN32)
+      	    # This is the lines for linux.  This should always work if everything is installed and working fine.
+      	    INCLUDE_DIRECTORIES(/usr/include /usr/local/include ${GLUT_INCLUDE_DIR}) 
+      	    SET(SIMDYNAMICS_INCLUDE_DIRS "${SIMDYNAMICS_INCLUDE_DIRS}" "/usr/include" "/usr/local/include" "${GLUT_INCLUDE_DIR}")
+      	ENDIF (WIN32)
+
+      ENDIF(SimDynamics_USE_BULLET_USE_GLUT)
+      MESSAGE (STATUS " ** BULLET_OpenGLSupport_LIBRARY: ${BULLET_OpenGLSupport_LIBRARY}")
+      if (SimDynamics_USE_BULLET_USE_GLUT AND GLUT_glut_LIBRARY AND BULLET_OpenGLSupport_LIBRARY)
+          MESSAGE (STATUS " ** Enabling OpenGL / Glut support")
+          SET (SimDynamics_BULLET_OpenGL TRUE)
+      else()
+          MESSAGE (STATUS " ** Disabling OpenGL / Glut support")
+          SET (SimDynamics_BULLET_OpenGL FALSE)
+      endif()
+          
+    else()
+        MESSAGE (STATUS " ** Could not find Bullet")
+    endif()
+    
+else()
+        MESSAGE ("No Physics engine selected...")   	    
+endif()
+
+
+MESSAGE (STATUS " ** SIMDYNAMICS_INCLUDE_DIRS: ${SIMDYNAMICS_INCLUDE_DIRS}")
+MESSAGE (STATUS " ** SimDynamics_PHYSICS_LIBRARIES: ${SimDynamics_PHYSICS_LIBRARIES}")
+
+
+#######################################################################
+# Setup for testing
+#######################################################################
+
+MACRO(ADD_SIMDYNAMICS_TEST TEST_NAME)
+  ADD_EXECUTABLE(${TEST_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/${TEST_NAME}.cpp)
+  TARGET_LINK_LIBRARIES(${TEST_NAME} VirtualRobot Saba GraspStudio SimDynamics ${Simox_EXTERNAL_LIBRARIES} ${SimDynamics_PHYSICS_LIBRARIES})
+  SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_TEST_DIR})
+  SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES FOLDER "SimDynamics Tests")
+  ADD_TEST(NAME SimDynamics_${TEST_NAME}
+          COMMAND ${Simox_TEST_DIR}/${TEST_NAME} --output_format=XML --log_level=all --report_level=no)
+ENDMACRO(ADD_SIMDYNAMICS_TEST)
+
 
 if (SimDynamics_DYNAMICSENGINE)
 
-    SET(SOURCES
+  SET(SOURCES
     DynamicsWorld.cpp
-	DynamicsEngine/DynamicsObject.cpp
-	DynamicsEngine/DynamicsEngine.cpp
-	DynamicsEngine/DynamicsRobot.cpp
-    )
+    DynamicsEngine/DynamicsObject.cpp
+    DynamicsEngine/DynamicsEngine.cpp
+    DynamicsEngine/DynamicsRobot.cpp
+  )
     
-    SET(INCLUDES
+  SET(INCLUDES
     DynamicsWorld.h
     SimDynamics.h
-	DynamicsEngine/DynamicsEngineFactory.h
-	DynamicsEngine/DynamicsObject.h
-	DynamicsEngine/DynamicsEngine.h
-	DynamicsEngine/DynamicsRobot.h
-    ${SimDynamics_SimoxDir}/VirtualRobot/definesVR.h
-    )
-    
-    if (SimDynamics_USE_BULLET)
-    	SET(SOURCES
+    DynamicsEngine/DynamicsEngineFactory.h
+    DynamicsEngine/DynamicsObject.h
+    DynamicsEngine/DynamicsEngine.h
+    DynamicsEngine/DynamicsRobot.h
+  )
+ #    ${SimDynamics_SimoxDir}/VirtualRobot/definesVR.h
+   
+  if (SimDynamics_USE_BULLET)
+  	SET(SOURCES
     	${SOURCES}
     	DynamicsEngine/BulletEngine/BulletEngineFactory.cpp
     	DynamicsEngine/BulletEngine/BulletEngine.cpp
@@ -34,9 +137,9 @@ if (SimDynamics_DYNAMICSENGINE)
     	DynamicsEngine/BulletEngine/BulletRobot.cpp
     	DynamicsEngine/BulletEngine/SimoxMotionState.cpp
      	DynamicsEngine/BulletEngine/SimoxCollisionDispatcher.cpp
-    	)
-    
-    	SET(INCLUDES
+  	)
+  
+  	SET(INCLUDES
     	${INCLUDES}
     	DynamicsEngine/BulletEngine/BulletEngineFactory.h
     	DynamicsEngine/BulletEngine/BulletEngine.h
@@ -44,99 +147,97 @@ if (SimDynamics_DYNAMICSENGINE)
     	DynamicsEngine/BulletEngine/BulletRobot.h
     	DynamicsEngine/BulletEngine/SimoxMotionState.h
      	DynamicsEngine/BulletEngine/SimoxCollisionDispatcher.h
-    	)
-    	
-    	if (SimDynamics_BULLET_OpenGL)
-        	SET(SOURCES
+  	)
+  	
+  	if (SimDynamics_BULLET_OpenGL)
+      	SET(SOURCES
         	${SOURCES}
         	DynamicsEngine/BulletEngine/BulletOpenGLViewer.cpp
-        	)
-        
-        	SET(INCLUDES
+      	)
+      
+      	SET(INCLUDES
         	${INCLUDES}
         	DynamicsEngine/BulletEngine/BulletOpenGLViewer.h
-        	)
-        else()
-            MESSAGE (STATUS "Bullet's OpenGLSupport library not found: Skipping BulletOpenGLViewer")
-        endif()
-
-		if (Simox_USE_COIN_VISUALIZATION)
-        	SET(SOURCES
+      	)
+      else()
+          MESSAGE (STATUS " ** Bullet's OpenGLSupport library not found: Skipping BulletOpenGLViewer")
+      endif()
+  
+  if (Simox_USE_COIN_VISUALIZATION)
+      	SET(SOURCES
         	${SOURCES}
         	DynamicsEngine/BulletEngine/BulletCoinQtViewer.cpp
-        	)
-        
-        	SET(INCLUDES
+      	)
+      
+      	SET(INCLUDES
         	${INCLUDES}
         	DynamicsEngine/BulletEngine/BulletCoinQtViewer.h
-        	)
-        else()
-            MESSAGE (STATUS "Qt/Coin3D disabled: Skipping BulletCoinQtViewer")
-        endif()
-    endif ()
-    
-    # this var is considered for generating Simox_INCLUDE_DIRS_
-    SET(SimDynamics_INCLUDE_DIRS "${SimDynamics_SimoxDir}" "${SimDynamics_DIR}" PARENT_SCOPE)
-    SET(SimDynamics_EXTERNAL_LIBRARIES "${SimDynamics_PHYSICS_LIBRARIES}" PARENT_SCOPE)
-    INCLUDE_DIRECTORIES(${SimDynamics_SimoxDir})
-    INCLUDE_DIRECTORIES(${SimDynamics_DIR})
-    
-    INCLUDE_DIRECTORIES(${VirtualRobot_EXTERNAL_INCLUDE_DIRS})
-    ADD_DEFINITIONS(${VirtualRobot_EXTERNAL_LIBRARY_FLAGS})
-    
+      	)
+      else()
+          MESSAGE (STATUS " ** Qt/Coin3D disabled: Skipping BulletCoinQtViewer")
+      endif()
+  endif ()
     
-    ADD_LIBRARY (SimDynamics SHARED ${SOURCES} ${INCLUDES})
-    TARGET_LINK_LIBRARIES (SimDynamics ${COLLISIONDETECTION_LIB} ${VirtualRobot_EXTERNAL_LIBRARIES} VirtualRobot ${SimDynamics_PHYSICS_LIBRARIES})
-    
-    # include examples
-    ADD_SUBDIRECTORY(examples/)
-    
-    # include unit tests
-    #ADD_SUBDIRECTORY(tests/)
-    if (SimDynamics_USE_BULLET)
-        ADD_SUBDIRECTORY(DynamicsEngine/BulletEngine/tests/)
-    endif()
-    IF (NOT DEFINED Simox_VERSION)
-		set(SimDynamics_MAJOR_VERSION 1)
-		set(SimDynamics_MINOR_VERSION 0)
-		set(SimDynamics_PATCH_VERSION )
-	ELSE()
-		set(SimDynamics_MAJOR_VERSION ${Simox_MAJOR_VERSION})
-		set(SimDynamics_MINOR_VERSION ${Simox_MINOR_VERSION})
-		set(SimDynamics_PATCH_VERSION ${Simox_PATCH_VERSION})
-	ENDIF()
-	set(SimDynamics_VERSION
-		${SimDynamics_MAJOR_VERSION}.${SimDynamics_MINOR_VERSION}.${SimDynamics_PATCH_VERSION})
-	set_target_properties( SimDynamics  PROPERTIES
-		VERSION ${SimDynamics_VERSION}
-		SOVERSION ${SimDynamics_MAJOR_VERSION}
-		)
-	MESSAGE(STATUS " * SimDynamics Version: ${SimDynamics_VERSION}")
+  # this var is considered for generating Simox_INCLUDE_DIRS_
+  #SET(SimDynamics_INCLUDE_DIRS "${SimDynamics_SimoxDir}" "${SimDynamics_DIR}" PARENT_SCOPE)
+  #SET(SimDynamics_EXTERNAL_LIBRARIES "${SimDynamics_PHYSICS_LIBRARIES}" PARENT_SCOPE)
+  #INCLUDE_DIRECTORIES(${SimDynamics_SimoxDir})
+  #INCLUDE_DIRECTORIES(${SimDynamics_DIR})
+   
 
+  INCLUDE_DIRECTORIES(${Simox_EXTERNAL_INCLUDE_DIRS})
+  ADD_DEFINITIONS(${Simox_EXTERNAL_LIBRARY_FLAGS})
+
+  ADD_LIBRARY (SimDynamics SHARED ${SOURCES} ${INCLUDES})
+
+  TARGET_LINK_LIBRARIES (SimDynamics ${Simox_EXTERNAL_LIBRARIES} VirtualRobot ${SimDynamics_PHYSICS_LIBRARIES})
+  
+  # .DLL path
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
+  # .so path
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${Simox_LIB_DIR})
+  # .lib path (this is needed for setting the DLL-import library path on windows)
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${Simox_LIB_DIR})
+  
+  # include examples
+  ADD_SUBDIRECTORY(examples/)
+  
+  # include unit tests
+  #ADD_SUBDIRECTORY(tests/)
+  if (SimDynamics_USE_BULLET)
+      ADD_SUBDIRECTORY(DynamicsEngine/BulletEngine/tests/)
+  endif()
+  
     
-    # .DLL path
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${SimDynamics_BIN_DIR})
-    # .so path
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${SimDynamics_LIB_DIR})
-    # .lib path (this is needed for setting the DLL-import library path on windows)
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${SimDynamics_LIB_DIR})
-    
-    INSTALL(TARGETS SimDynamics
-      RUNTIME DESTINATION ${SimDynamics_INSTALL_BIN_DIR}
-      LIBRARY DESTINATION ${SimDynamics_INSTALL_LIB_DIR}
-      ARCHIVE DESTINATION ${SimDynamics_INSTALL_LIB_DIR}
-      )
     
-    INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR} DESTINATION ${SimDynamics_INSTALL_HEADER_DIR}
-            FILES_MATCHING 
-            PATTERN "*.h"
-            PATTERN "*.hpp"
-            PATTERN ".svn" EXCLUDE
-            PATTERN "CMakeModules" EXCLUDE
-            PATTERN "tests" EXCLUDE
-            PATTERN "build*" EXCLUDE
-            PATTERN "data" EXCLUDE
-            PATTERN "examples" EXCLUDE)
+  #######################################################################################
+  ############################ Setup for installation ###################################
+  #######################################################################################
+  
+  
+  INSTALL(TARGETS ${PROJECT_NAME}
+    # IMPORTANT: Add the library to the "export-set"
+    EXPORT SimoxTargets
+    RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+    LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT shlib
+    ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" COMPONENT library
+    COMPONENT dev)
+  
+  INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR} DESTINATION ${Simox_INSTALL_HEADER_DIR}
+  	COMPONENT Headers
+          FILES_MATCHING 
+          PATTERN "*.h"
+          PATTERN "*.hpp"
+          PATTERN ".svn" EXCLUDE
+          PATTERN "CMakeModules" EXCLUDE
+          PATTERN "tests" EXCLUDE
+          PATTERN "build*" EXCLUDE
+          PATTERN "data" EXCLUDE
+          PATTERN "examples" EXCLUDE
+  	)
+  
 else()
     MESSAGE ("Not building SimDynamics, physics engine not found...")
 endif()
+
+MESSAGE (STATUS "***** Finished CONFIGURING Simox project SimDynamics *****")
diff --git a/SimDynamics/CMakeModules/FindBullet.cmake b/SimDynamics/CMakeModules/FindBullet.cmake
index 9bafd0b391fe65554550547afbfcb4ad429da17e..1f0e645acfe0296e7da4db3118ad4ce8340e26ff 100644
--- a/SimDynamics/CMakeModules/FindBullet.cmake
+++ b/SimDynamics/CMakeModules/FindBullet.cmake
@@ -57,8 +57,8 @@ IF( BULLET_INCLUDE_DIR )
         ${BULLET_INCLUDE_DIR}/OpenGL
         ${BULLET_INCLUDE_DIR}/../Demos/OpenGL
     )
-    MESSAGE ("BULLET_OPENGL_INCLUDE_DIR: ${BULLET_OPENGL_INCLUDE_DIR}")
-    MESSAGE ("BULLET_DEMOS_INCLUDE_DIR: ${BULLET_DEMOS_INCLUDE_DIR}")
+    MESSAGE (STATUS " **** BULLET_OPENGL_INCLUDE_DIR: ${BULLET_OPENGL_INCLUDE_DIR}")
+    MESSAGE (STATUS " **** BULLET_DEMOS_INCLUDE_DIR: ${BULLET_DEMOS_INCLUDE_DIR}")
 ENDIF( BULLET_INCLUDE_DIR )
 
 MACRO( FIND_BULLET_LIBRARY_DIRNAME LIBNAME DIRNAME )
diff --git a/SimDynamics/DynamicsEngine/BulletEngine/BulletRobot.cpp b/SimDynamics/DynamicsEngine/BulletEngine/BulletRobot.cpp
index a13694a7d1511d5dbbe796b555df073c487f8fad..d4c7dafa91e31c1b0cc60d47dc405440a28b49f9 100644
--- a/SimDynamics/DynamicsEngine/BulletEngine/BulletRobot.cpp
+++ b/SimDynamics/DynamicsEngine/BulletEngine/BulletRobot.cpp
@@ -1405,7 +1405,7 @@ Eigen::VectorXf BulletRobot::getJointForceTorqueGlobal(const BulletRobot::LinkIn
     Eigen::Vector3f torqueBGlobal =  ftB.tail(3);
 
     // the lever from Object B CoM to Joint
-    Eigen::Vector3f leverOnJoint = (comBGlobal-jointGlobal) * 0.001;
+    Eigen::Vector3f leverOnJoint = (comBGlobal-jointGlobal) * 0.001f;
     // Calculate the torque in Joint by taking the torque that presses on the CoM of BodyB and the Torque of BodyB on the joint
     // forceOnBGlobal is inverted in next line because it is the force of A on B to hold it in position
     // torqueBGlobal is inverted in next line because it is the torque on B from A to compensate torque of other objects (which is the torque we would like) to hold it in place and therefore needs to be inverted as well
diff --git a/SimDynamics/README.txt b/SimDynamics/README.txt
index c78a71e5877fa30a0830a53112f56a42005e3e7d..8f78f4bc8cebb6f0202af18d95135d9e86652f16 100644
--- a/SimDynamics/README.txt
+++ b/SimDynamics/README.txt
@@ -7,10 +7,9 @@ Several issues have to be concerned for the current version:
       But com transformations for VisualiztaionModels are ignored right now. 
       If they are different to the collision models or if there is no collision model but a visu model, the visualization poses in simox will be invalid.
     - Bullet computes the joint value / angle by determining the rotation of the worldposes of the connected btRigidBodies. There seems to be a bug when the rotation is at +/- PI. Avoid transformations between RobotNodes that include a rotation around 180 degrees.
-* Bullet models joints with btHingeConstraints. We found out that these constraints are not hard ones, so there can be situations where the constraints are violated which means that the robot structure looks somehow broken. Usually the contraints solvers of bullet try to re-adjust all limbs according to their constraints but if that is not possible or if the impacting forces/torques are too high the result is not as expected.
-    - This effect is part of the solver algorithm, so it cannot be totaly elimentated. But we noticed that multiple succeeding joints without displacement/3d models makes this artefact worse.
+* Bullet models joints with btHingeConstraints. We found out that these constraints are not hard ones, so there can be situations where the constraints are violated which means that the robot structure looks somehow broken. Usually the constraint solvers of bullet try to re-adjust all limbs according to their constraints but if that is not possible or if the impacting forces/torques are too high the result is not as expected.
+    - This effect is part of the solver algorithm, so it cannot be totally eleminated. But we noticed that multiple succeeding joints without displacement/3d models makes this artefact worse.
     
 The best results can be achieved with modeling the robot the following way:
 * Avoid succeeding revolute joints without models. Do not use more than one joint between two models.
 * Always use Visualization and Collision Models (COM issue)
-* Try to model rotated 3d models within you 3d model definition (.iv file) instead of rotate the models with postJointTransformation or DH parameters. This might affect the rotation of your coordinate systems but avoids an error in bullet when the rotation flips from/to +/-PI.
diff --git a/SimDynamics/config.cmake b/SimDynamics/config.cmake
deleted file mode 100644
index e60eec8f2efb11f6fdcc89efc9ecc0811fa806c0..0000000000000000000000000000000000000000
--- a/SimDynamics/config.cmake
+++ /dev/null
@@ -1,155 +0,0 @@
-IF (NOT SimDynamics_CONFIGURED)
-
-	# defines SimDynamics_CONFIGURED variable which indicates that this config file has already been included
-	SET(SimDynamics_CONFIGURED TRUE)
-	
-
-    GET_FILENAME_COMPONENT (CurrentSimDynamicsPath ${CMAKE_CURRENT_LIST_FILE} PATH)
-    SET(SimDynamics_DIR ${CurrentSimDynamicsPath})
-	SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${SimDynamics_DIR}/CMakeModules)
-     
-    ############################# SETUP PATHS TO Simox #############################
-    SET(SimDynamics_Simox_DIR_STANDARD "${CurrentSimDynamicsPath}/..")
-    # be sure to have the absolute path
-    get_filename_component(SimDynamics_Simox_DIR_STANDARD ${SimDynamics_Simox_DIR_STANDARD} ABSOLUTE)
-    
-    SET (SimDynamics_SimoxDir ${SimDynamics_Simox_DIR_STANDARD} CACHE STRING "Path to Simox used by SimDynamics")
-    
-    INCLUDE(${SimDynamics_SimoxDir}/config.cmake)
-    	
-    IF(NOT DEFINED Simox_BUILD_DIRECTORY)
-     	SET(Simox_BUILD_DIRECTORY "${SimDynamics_SimoxDir}/build" CACHE STRING "Simox build directory used by SimDynamics")
-    	SET(Simox_LIB_DIR ${Simox_BUILD_DIRECTORY}/lib)
-    	SET(Simox_BIN_DIR ${Simox_BUILD_DIRECTORY}/bin)
-    ENDIF()
-    
-    ############################# SETUP PATHS #############################
-     
-    # Define, where to put the binaries
-    SET(SimDynamics_LIB_DIR ${Simox_LIB_DIR})
-    SET(SimDynamics_BIN_DIR ${Simox_BIN_DIR})
-    MESSAGE(STATUS "** SimDynamics_LIB_DIR: ${SimDynamics_LIB_DIR}")
-    MESSAGE(STATUS "** SimDynamics_BIN_DIR: ${SimDynamics_BIN_DIR}")
-    
-    # Define, where to install the binaries
-    SET(SimDynamics_INSTALL_LIB_DIR ${Simox_INSTALL_LIB_DIR})
-    SET(SimDynamics_INSTALL_BIN_DIR ${Simox_INSTALL_BIN_DIR})
-    SET(SimDynamics_INSTALL_HEADER_DIR ${Simox_INSTALL_HEADER_DIR})
-    
-    
-    ############################# SETUP PHYSICS ENGINE #############################
-   	OPTION(SimDynamics_USE_BULLET "Use Bullet Physics Engine" ON)
-   	SET (SimDynamics_DYNAMICSENGINE FALSE)
-   	SET (SimDynamics_PHYSICS_LIBRARIES "")
-   	
-   	if (SimDynamics_USE_BULLET)
-   	
-       	IF(NOT "$ENV{BULLET_ROOT}" STREQUAL "")
-    	    MESSAGE (STATUS "USING BULLET_ROOT-PATH from environment variable BULLET_ROOT: $ENV{BULLET_ROOT}")
-    	    file(TO_CMAKE_PATH "$ENV{BULLET_ROOT}" BULLET_ROOT)
-    	ENDIF()
-    	#SET (SimDynamics_BULLET_ROOT ${Simox_BULLET_ROOT} CACHE PATH "Path to Bullet used by SimDynamics")
-   	    SET (BULLET_ROOT ${BULLET_ROOT} CACHE PATH "Bullet Path")
-   	    Find_Package(Bullet)
-   	    if (BULLET_FOUND)
-   	        MESSAGE (STATUS "Found Bullet at ${BULLET_INCLUDE_DIR}")
-   	        #MESSAGE (STATUS "BULLET_LIBRARIES: ${BULLET_LIBRARIES}")
-   	        #MESSAGE (STATUS "BULLET_OPENGL_INCLUDE_DIR: ${BULLET_OPENGL_INCLUDE_DIR}")
-   	        #MESSAGE (STATUS "BULLET_OpenGLSupport_LIBRARY_debug: ${BULLET_OpenGLSupport_LIBRARY_debug}")
-   	        SET(SIMDYNAMICS_INCLUDE_DIRS "${BULLET_INCLUDE_DIR}" "${BULLET_INCLUDE_DIR}/bullet" "${BULLET_DEMOS_INCLUDE_DIR}" "${BULLET_OPENGL_INCLUDE_DIR}" PARENT_SCOPE)
-           	
-           	
-           	INCLUDE_DIRECTORIES( 
-                ${BULLET_INCLUDE_DIR}
-                ${BULLET_INCLUDE_DIR}/bullet
-                ${BULLET_DEMOS_INCLUDE_DIR}
-                ${BULLET_OPENGL_INCLUDE_DIR}
-            )
-            OPTION( SimDynamics_USE_BULLET_DOUBLE_PRECISION "Use Bullet Engine built with double precision" OFF )
-            OPTION(SimDynamics_USE_BULLET_USE_GLUT "Use Glut"	ON)
-            IF( SimDynamics_USE_BULLET_DOUBLE_PRECISION )
-                ADD_DEFINITIONS( -DBT_USE_DOUBLE_PRECISION)
-                SET(SIMDYNAMICS_COMPILE_FLAGS "${SIMDYNAMICS_COMPILE_FLAGS}" "-DBT_USE_DOUBLE_PRECISION" PARENT_SCOPE)
-            ENDIF( SimDynamics_USE_BULLET_DOUBLE_PRECISION )
-            SET (SimDynamics_PHYSICS_LIBRARIES "${BULLET_LIBRARIES}")
-            SET (SimDynamics_DYNAMICSENGINE TRUE)
-            
-            IF (SimDynamics_USE_BULLET_USE_GLUT)
-	            FIND_PACKAGE(OpenGL)
-	            IF (OPENGL_FOUND)
-		      MESSAGE ("OPENGL FOUND lib:${OPENGL_gl_LIBRARY}")
-		    ENDIF()
-	            IF (OPENGL_GLU_FOUND)
-		      MESSAGE ("OPENGL_GLU FOUND lib:${OPENGL_glu_LIBRARY}")
-		    ENDIF()
-
-	            FIND_PACKAGE(GLUT)
-	            IF (GLUT_FOUND)
-	                MESSAGE("GLUT FOUND")
-	                MESSAGE(${GLUT_glut_LIBRARY})
-	                SET(SimDynamics_PHYSICS_LIBRARIES ${SimDynamics_PHYSICS_LIBRARIES} ${GLUT_glut_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY})        
-	            ELSE (GLUT_FOUND)
-    	            SET( GLUT_glut_LIBRARY "" CACHE PATH "Glut library." )
-                    #IF (MSVC)
-                    #IF (CMAKE_CL_64)
-    	            #    message("win64 using glut64.lib")
-    	            #    SET(GLUT_glut_LIBRARY ${BULLET_PHYSICS_SOURCE_DIR}/Glut/glut64.lib)
-                    #ELSE(CMAKE_CL_64)
-                    #	message("win32 using glut32.lib")
-                    #	SET(GLUT_glut_LIBRARY ${BULLET_PHYSICS_SOURCE_DIR}/Glut/glut32.lib)
-                    #ENDIF (CMAKE_CL_64)
-                	#ENDIF (MSVC)
-                ENDIF (GLUT_FOUND)
-
-            	IF (WIN32)
-            	    INCLUDE_DIRECTORIES(${GLUT_INCLUDE_DIR})
-            	    SET(SIMDYNAMICS_INCLUDE_DIRS "${SIMDYNAMICS_INCLUDE_DIRS}" "${GLUT_INCLUDE_DIR}" PARENT_SCOPE)
-            	ELSE (WIN32)
-            	    # This is the lines for linux.  This should always work if everything is installed and working fine.
-            	    INCLUDE_DIRECTORIES(/usr/include /usr/local/include ${GLUT_INCLUDE_DIR}) 
-            	    SET(SIMDYNAMICS_INCLUDE_DIRS "${SIMDYNAMICS_INCLUDE_DIRS}" "/usr/include" "/usr/local/include" "${GLUT_INCLUDE_DIR}")
-            	ENDIF (WIN32)
-
-            ENDIF(SimDynamics_USE_BULLET_USE_GLUT)
-            MESSAGE ("BULLET_OpenGLSupport_LIBRARY: ${BULLET_OpenGLSupport_LIBRARY}")
-            if (SimDynamics_USE_BULLET_USE_GLUT AND GLUT_glut_LIBRARY AND BULLET_OpenGLSupport_LIBRARY)
-                MESSAGE ("Enabling OpenGL / Glut support")
-                SET (SimDynamics_BULLET_OpenGL TRUE)
-            else()
-                MESSAGE ("Disabling OpenGL / Glut support")
-                SET (SimDynamics_BULLET_OpenGL FALSE)
-            endif()
-                
-        else()
-            MESSAGE ("Could not find Bullet")
-        endif()
-        
-   	else()
-            MESSAGE ("No Physics engine selected...")   	    
-   	endif()
-   	
-
-    MESSAGE ("**SIMDYNAMICS_INCLUDE_DIRS: ${SIMDYNAMICS_INCLUDE_DIRS}")
-   	MESSAGE ("**SimDynamics_PHYSICS_LIBRARIES: ${SimDynamics_PHYSICS_LIBRARIES}")
-
-    #######################################################################
-    # Setup for testing
-    #######################################################################
-    ENABLE_TESTING()
-    INCLUDE(CTest)
-    
-    MACRO(ADD_SIMDYNAMICS_TEST TEST_NAME)
-    INCLUDE_DIRECTORIES(${VirtualRobot_EXTERNAL_INCLUDE_DIRS})
-        ADD_DEFINITIONS(${VirtualRobot_EXTERNAL_LIBRARY_FLAGS})
-    	ADD_EXECUTABLE(${TEST_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/${TEST_NAME}.cpp)
-    	TARGET_LINK_LIBRARIES(${TEST_NAME} VirtualRobot SimDynamics ${VirtualRobot_LINK_LIBRARIES} ${SimDynamics_PHYSICS_LIBRARIES})
-    	SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${VirtualRobot_TEST_DIR})
-    	SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES FOLDER "VirtualRobot Tests")
-    	#IF(NOT UNIX)
-    	#   SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
-    	#ENDIF(NOT UNIX)
-    	SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES FOLDER "SimDynamics Tests")
-        ADD_TEST(NAME SimDynamics_${TEST_NAME}
-    	         COMMAND ${VirtualRobot_TEST_DIR}/${TEST_NAME} --output_format=XML --log_level=all --report_level=no)
-    ENDMACRO(ADD_SIMDYNAMICS_TEST)
-ENDIF(NOT SimDynamics_CONFIGURED)
diff --git a/SimDynamics/examples/BulletDebugViewerGlut/BulletDebugViewerGlut.cpp b/SimDynamics/examples/BulletDebugViewerGlut/BulletDebugViewerGlut.cpp
index 621d32fc3a95231a3c09d6e925569c711529024f..fb49af7f436a63c1f244f3b838c2a718346d9aee 100644
--- a/SimDynamics/examples/BulletDebugViewerGlut/BulletDebugViewerGlut.cpp
+++ b/SimDynamics/examples/BulletDebugViewerGlut/BulletDebugViewerGlut.cpp
@@ -1,5 +1,5 @@
 
-#include "DynamicsEngine/BulletEngine/BulletOpenGLViewer.h"
+#include <SimDynamics/DynamicsEngine/BulletEngine/BulletOpenGLViewer.h>
 #include <SimDynamics/DynamicsWorld.h>
 #include <SimDynamics/DynamicsEngine/BulletEngine/BulletEngineFactory.h>
 
diff --git a/SimDynamics/examples/BulletDebugViewerGlut/CMakeLists.txt b/SimDynamics/examples/BulletDebugViewerGlut/CMakeLists.txt
index 009cfa9b02271af0b0844cf4faf4400c4219a77d..af5f49be2d9a3616ee16640cc11820a82aaafd75 100644
--- a/SimDynamics/examples/BulletDebugViewerGlut/CMakeLists.txt
+++ b/SimDynamics/examples/BulletDebugViewerGlut/CMakeLists.txt
@@ -4,41 +4,24 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4)
 
 CMAKE_POLICY(VERSION 2.6)
 
-#LINK_LIBRARIES(
-#OpenGLSupport BulletDynamics  BulletCollision LinearMath    ${GLUT_glut_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}
-#)
+INCLUDE(${Simox_DIR}/CMakeModules/SimoxMacros.cmake)
 
-LINK_DIRECTORIES(${Simox_LIB_DIR})
+# create the executable
+SimoxApplication(${PROJECT_NAME} "BulletDebugViewerGlut.cpp" "")
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} SimDynamics)
 
-ADD_EXECUTABLE(${PROJECT_NAME} BulletDebugViewerGlut.cpp)
 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
-
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} VirtualRobot Saba ${Simox_VISUALIZATION_LIBS})
-TARGET_LINK_LIBRARIES (${PROJECT_NAME} ${COLLISIONDETECTION_LIB} ${VirtualRobot_EXTERNAL_LIBRARIES} VirtualRobot SimDynamics ${SimDynamics_PHYSICS_LIBRARIES})
-
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${SimDynamics_INSTALL_BIN_DIR})
-    
-MESSAGE( STATUS ${PROJECT_NAME} " will be placed into " ${Simox_BIN_DIR})
-MESSAGE( STATUS ${PROJECT_NAME} " will be installed into " ${SimDynamics_INSTALL_BIN_DIR})
-
-
-
-
-#IF (WIN32)
-#		IF (CMAKE_CL_64)
-#			ADD_CUSTOM_COMMAND(
-#				TARGET AppGenericJointDemo
-#				POST_BUILD
-#				COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/glut64.dll ${CMAKE_CURRENT_BINARY_DIR}
-#			)
-#		ELSE(CMAKE_CL_64)
-#			ADD_CUSTOM_COMMAND(
-#				TARGET AppGenericJointDemo
-#				POST_BUILD
-#				COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/GLUT32.DLL ${CMAKE_CURRENT_BINARY_DIR}
-#			)
-#		ENDIF(CMAKE_CL_64)
-#ENDIF(WIN32)
-
+  
+#######################################################################################
+############################ Setup for installation ###################################
+#######################################################################################
+
+install(TARGETS ${PROJECT_NAME}
+  # IMPORTANT: Add the library to the "export-set"
+  EXPORT SimoxTargets
+  RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+  COMPONENT dev)
+
+MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be placed into " ${Simox_BIN_DIR})
+MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be installed into " ${INSTALL_BIN_DIR})
diff --git a/SimDynamics/examples/SimDynamicsViewer/CMakeLists.txt b/SimDynamics/examples/SimDynamicsViewer/CMakeLists.txt
index 9c5d77b01cb3d70b39f6da84473c93cf518e6bac..ddb1fce6a0d97072bd76a9801dd2dfb78d7cc0c4 100644
--- a/SimDynamics/examples/SimDynamicsViewer/CMakeLists.txt
+++ b/SimDynamics/examples/SimDynamicsViewer/CMakeLists.txt
@@ -4,12 +4,10 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4)
 
 CMAKE_POLICY(VERSION 2.6)
 
-IF(Simox_USE_COIN_VISUALIZATION)
+INCLUDE(${Simox_DIR}/CMakeModules/SimoxMacros.cmake)
 
-    INCLUDE(${QT_USE_FILE})
-    
-    LINK_DIRECTORIES(${SimDynamics_LIB_DIR})
-    
+IF(Simox_USE_COIN_VISUALIZATION)
+   
     FILE(GLOB demo_SRCS ${PROJECT_SOURCE_DIR}/SimDynamicsViewer.cpp ${PROJECT_SOURCE_DIR}/simDynamicsWindow.cpp)
     FILE(GLOB demo_INCS ${PROJECT_SOURCE_DIR}/simDynamicsWindow.h)
 
@@ -22,16 +20,21 @@ IF(Simox_USE_COIN_VISUALIZATION)
     )
 
     SimoxQtApplication("${PROJECT_NAME}" "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
-
+    TARGET_LINK_LIBRARIES(${PROJECT_NAME} SimDynamics)
+    
     SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${SimDynamics_BIN_DIR})
+    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
 
-    TARGET_LINK_LIBRARIES(${PROJECT_NAME} VirtualRobot ${VirtualRobot_VISUALIZATION_LIBS} SimDynamics ${SimDynamics_PHYSICS_LIBRARIES})
-    INCLUDE_DIRECTORIES(${VirtualRobot_VISUALIZATION_INCLUDE_PATHS})
+    #######################################################################################
+    ############################ Setup for installation ###################################
+    #######################################################################################
+    
+    install(TARGETS ${PROJECT_NAME}
+      # IMPORTANT: Add the library to the "export-set"
+      EXPORT SimoxTargets
+      RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+      COMPONENT dev)
     
-    INSTALL(TARGETS ${PROJECT_NAME}
-        DESTINATION ${SimDynamics_INSTALL_BIN_DIR})
-        
-    MESSAGE( STATUS ${PROJECT_NAME} " will be placed into " ${SimDynamics_BIN_DIR})
-    MESSAGE( STATUS ${PROJECT_NAME} " will be installed into " ${SimDynamics_INSTALL_BIN_DIR})
+    MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be placed into " ${Simox_BIN_DIR})
+    MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be installed into " ${INSTALL_BIN_DIR})
 ENDIF()
diff --git a/VirtualRobot/CMakeLists.txt b/VirtualRobot/CMakeLists.txt
index 857491b6d2396b62c51eff9536c20065f30136fb..64db0262efe2fd62ac18de43f85d1a7c0cb611c0 100644
--- a/VirtualRobot/CMakeLists.txt
+++ b/VirtualRobot/CMakeLists.txt
@@ -1,20 +1,32 @@
 PROJECT ( VirtualRobot )
 
-MESSAGE (STATUS "\n ***** CONFIGURING Simox project VirtualRobot *****")
+MESSAGE (STATUS "\n***** CONFIGURING Simox project VirtualRobot *****")
 
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6.2)
 CMAKE_POLICY(VERSION 2.6)
 
 if(NOT ("${CMAKE_VERSION}" VERSION_LESS 2.8.12))
-	cmake_policy(SET CMP0022 OLD) # avoid INTERFACE_LINK_LIBRARIES warninss
+	cmake_policy(SET CMP0022 OLD) # avoid INTERFACE_LINK_LIBRARIES warnings
 ENDIF()
 
 
-INCLUDE(config.cmake)
+########################### TESTING #####################################
+MACRO(ADD_VR_TEST TEST_NAME)  
+  INCLUDE_DIRECTORIES(${Simox_EXTERNAL_INCLUDE_DIRS})
+  INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR})
+  INCLUDE_DIRECTORIES("${PROJECT_SOURCE_DIR}/..")
+  ADD_DEFINITIONS(${Simox_EXTERNAL_LIBRARY_FLAGS})
+  ADD_DEFINITIONS(-DBOOST_TEST_DYN_LINK) 
+  ADD_EXECUTABLE(${TEST_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/${TEST_NAME}.cpp)
+	TARGET_LINK_LIBRARIES(${TEST_NAME} VirtualRobot ${Simox_EXTERNAL_LIBRARIES})
+	SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_TEST_DIR})
+	SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES FOLDER "VirtualRobot Tests")
+	ADD_TEST(NAME VirtualRobot_${TEST_NAME}
+	         COMMAND ${Simox_TEST_DIR}/${TEST_NAME} --output_format=XML --log_level=all --report_level=no)
+ENDMACRO()
 
-MESSAGE (STATUS " * VirtualRobot Binary directory: ${VirtualRobot_BIN_DIR}")
-MESSAGE (STATUS " * VirtualRobot Library directory: ${VirtualRobot_LIB_DIR}")
 
+#################################### FILES ##################################
 SET(SOURCES
 CollisionDetection/CollisionChecker.cpp
 CollisionDetection/CollisionModel.cpp
@@ -170,7 +182,7 @@ ADD_SUBDIRECTORY(Visualization/tests)
 ADD_SUBDIRECTORY(Workspace/tests)
 ADD_SUBDIRECTORY(Compression/tests)
 
-if (VirtualRobot_VISUALIZATION AND VirtualRobot_USE_COIN_VISUALIZATION)
+if (Simox_VISUALIZATION AND Simox_USE_COIN_VISUALIZATION)
 
 	SET(SOURCES
 	${SOURCES}
@@ -187,7 +199,7 @@ if (VirtualRobot_VISUALIZATION AND VirtualRobot_USE_COIN_VISUALIZATION)
 	)
 	ADD_SUBDIRECTORY(Visualization/CoinVisualization/tests)
 
-elseif (VirtualRobot_VISUALIZATION AND VirtualRobot_USE_OPENSCENEGRAPH_VISUALIZATION)
+elseif (Simox_VISUALIZATION AND Simox_USE_OPENSCENEGRAPH_VISUALIZATION)
 
 	SET(SOURCES
 	${SOURCES}
@@ -215,7 +227,7 @@ elseif (VirtualRobot_VISUALIZATION AND VirtualRobot_USE_OPENSCENEGRAPH_VISUALIZA
 
 endif ()
 
-if (VirtualRobot_USE_COLLADA)
+if (Simox_USE_COLLADA)
 
     SET(SOURCES
     ${SOURCES}
@@ -232,32 +244,6 @@ if (VirtualRobot_USE_COLLADA)
     COLLADA/ColladaParser.h
     )
 endif ()
-
-#INCLUDE_DIRECTORIES(${VirtualRobot_VISUALIZATION_INCLUDE_PATHS})
-#ADD_DEFINITIONS(${VirtualRobot_VISUALIZATION_COMPILE_FLAGS})
-
-
-#######################################################################################
-# don't include -> this is meant for external libs
-#INCLUDE(CMakeModules/VirtualRobotExternalLibrarySetup.cmake)
-
-# manually apply the configuration of external libs
-MESSAGE(STATUS " * VirtualRobot_EXTERNAL_INCLUDE_DIRS: ${VirtualRobot_EXTERNAL_INCLUDE_DIRS}")
-INCLUDE_DIRECTORIES(${VirtualRobot_EXTERNAL_INCLUDE_DIRS})
-
-MESSAGE(STATUS " * VirtualRobot_EXTERNAL_LIBRARY_FLAGS: ${VirtualRobot_EXTERNAL_LIBRARY_FLAGS}")
-ADD_DEFINITIONS(${VirtualRobot_EXTERNAL_LIBRARY_FLAGS})
-
-MESSAGE(STATUS " * VirtualRobot_EXTERNAL_LIBRARY_DIRS: ${VirtualRobot_EXTERNAL_LIBRARY_DIRS}")
-LINK_DIRECTORIES( ${VirtualRobot_EXTERNAL_LIBRARY_DIRS} )
-
-MESSAGE(STATUS " * VirtualRobot_EXTERNAL_LIBRARY_CMAKE_INCLUDE: ${VirtualRobot_EXTERNAL_LIBRARY_CMAKE_INCLUDE}")
-FOREACH(f ${VirtualRobot_EXTERNAL_LIBRARY_CMAKE_INCLUDE})
-    MESSAGE(STATUS " ** INCLUDE: ${f}")
-    INCLUDE(${f})
-ENDFOREACH(f)
-#######################################################################################
-
 # include collision detection
 INCLUDE (CollisionDetection/CMakeLists.txt)
 
@@ -268,153 +254,39 @@ ADD_SUBDIRECTORY(Transformation/tests/)
 # include examples
 ADD_SUBDIRECTORY(examples/)
 
-# create configuration file which contains all compile time defines
-CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/definesVR.h.cmake ${PROJECT_SOURCE_DIR}/definesVR.h)
-
-MESSAGE (STATUS " * Setting standard data path to ${CMAKE_INSTALL_PREFIX}/data")
-ADD_DEFINITIONS(-DVirtualRobot_DATA_PATH="${CMAKE_INSTALL_PREFIX}/data")
-ADD_DEFINITIONS(-DVirtualRobot_SRC_DATA_PATH="${PROJECT_SOURCE_DIR}/data")
 
 ADD_LIBRARY (VirtualRobot SHARED ${SOURCES} ${INCLUDES})
+TARGET_LINK_LIBRARIES(VirtualRobot ColCheckerPQP ${Simox_EXTERNAL_LIBRARIES})
 
-TARGET_LINK_LIBRARIES (VirtualRobot ${COLLISIONDETECTION_LIB} ${VirtualRobot_EXTERNAL_LIBRARIES})
-# need this to let the dependencies show up in VirtualRobotLibraryDepends
-TARGET_LINK_LIBRARIES (VirtualRobot LINK_INTERFACE_LIBRARIES ${COLLISIONDETECTION_LIB} ${VirtualRobot_EXTERNAL_LIBRARIES})
 
 # .DLL path
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${VirtualRobot_BIN_DIR})
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
 # .so path
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${VirtualRobot_LIB_DIR})
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${Simox_LIB_DIR})
 # .lib path (this is needed for setting the DLL-import library path on windows)
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${VirtualRobot_LIB_DIR})
-
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${Simox_LIB_DIR})
 
 
+#######################################################################################
+############################ Setup for installation ###################################
+#######################################################################################
 
 
-#######################################################################
-# Setup for installation
-#######################################################################
-
-############################################
-MESSAGE(STATUS " * Generating CMake files")
-
-IF (NOT DEFINED Simox_VERSION)
-	set(VirtualRobot_MAJOR_VERSION 2)
-	set(VirtualRobot_MINOR_VERSION 1)
-	set(VirtualRobot_PATCH_VERSION 12)
-ELSE()
-	set(VirtualRobot_MAJOR_VERSION ${Simox_MAJOR_VERSION})
-	set(VirtualRobot_MINOR_VERSION ${Simox_MINOR_VERSION})
-	set(VirtualRobot_PATCH_VERSION ${Simox_PATCH_VERSION})
-ENDIF()
-set(VirtualRobot_VERSION
-    ${VirtualRobot_MAJOR_VERSION}.${VirtualRobot_MINOR_VERSION}.${VirtualRobot_PATCH_VERSION})
-set_target_properties( VirtualRobot  PROPERTIES
-	VERSION ${VirtualRobot_VERSION}
-	SOVERSION ${VirtualRobot_MAJOR_VERSION}
-	)
-MESSAGE(STATUS " * VirtualRobot Version: ${VirtualRobot_VERSION}")
-
-set(VirtualRobot_LIBRARIES VirtualRobot)
-set(VirtualRobot_EXECUTABLES "")
-
-# Export the package for use from the build-tree
-# (this registers the build-tree with a global CMake-registry)
-EXPORT(PACKAGE VirtualRobot)
-
-#get_property(VirtualRobot_external_INCLUDE_DIRS TARGET VirtualRobot PROPERTY EXTERNAL_INCLUDE_DIRS)
-#message(STATUS "VirtualRobot_external_INCLUDE_DIRS: ${VirtualRobot_external_INCLUDE_DIRS}")
-
-SET (VirtualRobot_CONFIG_INBUILD_DIR ${VirtualRobot_BUILD_DIRECTORY}/share/VirtualRobot/cmake)
-SET (VirtualRobot_CONFIG_INBUILD "${VirtualRobot_CONFIG_INBUILD_DIR}/VirtualRobotConfig.cmake")
-SET (VirtualRobot_CONFIG_INSTALL_LOCAL_DIR ${VirtualRobot_BUILD_DIRECTORY}/InstallFiles)
-SET (VirtualRobot_CONFIG_INSTALL_LOCAL "${VirtualRobot_CONFIG_INSTALL_LOCAL_DIR}/VirtualRobotConfig.cmake")
-SET (VirtualRobot_CONFIG_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/share/VirtualRobot/cmake)
-SET (VirtualRobot_CONFIG_INSTALL "${CMAKE_INSTALL_PREFIX}/VirtualRobotConfig.cmake")
-
-MESSAGE (STATUS " * VirtualRobot: SETTING UP INSTALL FILES")
-MESSAGE (STATUS " ** In-build tree: VirtualRobot_CONFIG_INBUILD = ${VirtualRobot_CONFIG_INBUILD}")
-MESSAGE (STATUS " ** Install tree : (local)   VirtualRobot_CONFIG_INSTALL_LOCAL = ${VirtualRobot_CONFIG_INSTALL_LOCAL}")
-MESSAGE (STATUS " ** Install tree : (install) VirtualRobot_CONFIG_INSTALL = ${VirtualRobot_CONFIG_INSTALL}")
-
-# Install the export set for use with the install-tree
-install(
-    EXPORT VirtualRobotLibraryDepends
-    DESTINATION "${VirtualRobot_CONFIG_INSTALL_DIR}")
-
-
-# Create an VirtualRobotConfig.cmake file for the use from the build tree
-SET(VirtualRobot_LIBRARIES_ALL "${VirtualRobot_LIBRARIES}" "${VirtualRobot_EXTERNAL_LIBRARIES}")
-SET(VirtualRobot_DIR "${PROJECT_SOURCE_DIR}/..")
-SET(VirtualRobot_INCLUDE_DIRS "${VirtualRobot_DIR}" "${VirtualRobot_EXTERNAL_INCLUDE_DIRS}")
-SET(VirtualRobot_LIB_DIRS "${VirtualRobot_BUILD_DIRECTORY}/${LIB_DIR}" "${VirtualRobot_EXTERNAL_LIBRARY_DIRS}")
-SET(VirtualRobot_LIB_FLAGS "${VirtualRobot_EXTERNAL_LIBRARY_FLAGS}")
-SET(VirtualRobot_CMAKE_DIR "${VirtualRobot_CONFIG_INBUILD_DIR}")
-SET(VirtualRobot_LIBRARY_CMAKE_INCLUDE "${VirtualRobot_EXTERNAL_LIBRARY_CMAKE_INCLUDE}")
-SET(VirtualRobot_DATA_PATH "${PROJECT_SOURCE_DIR}/data")
-configure_file(
-    ${VR_DIR}/CMakeModules/VirtualRobotConfig.cmake.in
-    "${VirtualRobot_CONFIG_INBUILD_DIR}/VirtualRobotConfig.cmake"
-    @ONLY)
-configure_file(
-    ${VR_DIR}/CMakeModules/VirtualRobotConfigVersion.cmake.in
-    "${VirtualRobot_CONFIG_INBUILD_DIR}/VirtualRobotConfigVersion.cmake"
-    @ONLY)
-configure_file("${PROJECT_SOURCE_DIR}/CMakeModules/VirtualRobotExternalLibrarySetup.cmake"
-    "${VirtualRobot_CONFIG_INBUILD_DIR}/VirtualRobotExternalLibrarySetup.cmake" COPYONLY)
-configure_file("${PROJECT_SOURCE_DIR}/CMakeModules/VirtualRobotMacros.cmake"
-    "${VirtualRobot_CONFIG_INBUILD_DIR}/VirtualRobotMacros.cmake" COPYONLY)
-#configure_file("${PROJECT_SOURCE_DIR}/CMakeModules/FindVirtualRobot.cmake"
-#    "${VirtualRobot_CONFIG_INBUILD_DIR}/FindVirtualRobot.cmake" COPYONLY)
-
-
-
-# Create an VirtualRobotConfig.cmake file for the use from the install tree
-# and install it
-SET(VirtualRobot_LIBRARIES_ALL "${VirtualRobot_LIBRARIES}" "${VirtualRobot_EXTERNAL_LIBRARIES}")
-SET(VirtualRobot_DIR "${CMAKE_INSTALL_PREFIX}/include")
-SET(VirtualRobot_INCLUDE_DIRS "${VirtualRobot_DIR}" "${VirtualRobot_EXTERNAL_INCLUDE_DIRS}")
-SET(VirtualRobot_LIB_DIRS "${CMAKE_INSTALL_PREFIX}/${LIB_DIR}" "${VirtualRobot_EXTERNAL_LIBRARY_DIRS}")
-SET(VirtualRobot_CMAKE_DIR "${VirtualRobot_CONFIG_INSTALL_DIR}")
-SET(VirtualRobot_LIB_FLAGS "${VirtualRobot_EXTERNAL_LIBRARY_FLAGS}")
-SET(VirtualRobot_LIBRARY_CMAKE_INCLUDE "${VirtualRobot_EXTERNAL_LIBRARY_CMAKE_INCLUDE}")
-SET(VirtualRobot_DATA_PATH "${CMAKE_INSTALL_PREFIX}/data")
-
-configure_file(
-    ${VR_DIR}/CMakeModules/VirtualRobotConfig.cmake.in
-    "${VirtualRobot_CONFIG_INSTALL_LOCAL_DIR}/VirtualRobotConfig.cmake"
-    @ONLY)
-configure_file(
-    ${VR_DIR}/CMakeModules/VirtualRobotConfigVersion.cmake.in
-    "${VirtualRobot_CONFIG_INSTALL_LOCAL_DIR}/VirtualRobotConfigVersion.cmake"
-    @ONLY)
-
-install(FILES
-    "${VirtualRobot_CONFIG_INSTALL_LOCAL_DIR}/VirtualRobotConfig.cmake"
-    "${VirtualRobot_CONFIG_INSTALL_LOCAL_DIR}/VirtualRobotConfigVersion.cmake"
-    DESTINATION "${VirtualRobot_CMAKE_DIR}"
-    COMPONENT ApplicationData
-    )
-
-install(FILES
-    "${PROJECT_SOURCE_DIR}/CMakeModules/VirtualRobotExternalLibrarySetup.cmake"
-    "${PROJECT_SOURCE_DIR}/CMakeModules/VirtualRobotMacros.cmake"
-    DESTINATION "${VirtualRobot_CMAKE_DIR}"
-    COMPONENT ApplicationData)
-
-
-INSTALL(TARGETS VirtualRobot
-        EXPORT VirtualRobotLibraryDepends
-        RUNTIME DESTINATION ${VirtualRobot_INSTALL_BIN_DIR}
-        LIBRARY DESTINATION ${VirtualRobot_INSTALL_LIB_DIR}
-        ARCHIVE DESTINATION ${VirtualRobot_INSTALL_LIB_DIR}
-	COMPONENT Libraries
-        )
+#set_target_properties(${PROJECT_NAME} PROPERTIES
+#  PUBLIC_HEADER "${INCLUDES}")
 
-INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR} DESTINATION ${VirtualRobot_INSTALL_HEADER_DIR}
+install(TARGETS ${PROJECT_NAME}
+  # IMPORTANT: Add the library to the "export-set"
+  EXPORT SimoxTargets
+  RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+  LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT shlib
+  ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" COMPONENT library
+  COMPONENT dev)
+#  PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/VirtualRobot"
+ 
+INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR} DESTINATION "${Simox_INSTALL_HEADER_DIR}"
 	COMPONENT Headers
-        FILES_MATCHING
+       FILES_MATCHING 
         PATTERN "*.h"
         PATTERN "*.hpp"
         PATTERN ".svn" EXCLUDE
@@ -425,9 +297,9 @@ INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR} DESTINATION ${VirtualRobot_INSTALL_HEADE
         PATTERN "examples" EXCLUDE
 	)
 
-INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/data DESTINATION ${CMAKE_INSTALL_PREFIX}
+INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/data DESTINATION ${Simox_INSTALL_DIR}
 	COMPONENT ApplicationData
-        FILES_MATCHING
+        FILES_MATCHING 
         PATTERN "*.xml"
         PATTERN "*.XML"
         PATTERN "*.iv"
@@ -438,4 +310,5 @@ INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/data DESTINATION ${CMAKE_INSTALL_PREFIX}
         PATTERN "*.bin"
         PATTERN ".svn" EXCLUDE
 	)
-
+   
+MESSAGE (STATUS "***** Finished CONFIGURING Simox project VirtualRobot *****\n")
diff --git a/VirtualRobot/CMakeModules/FindVirtualRobot.cmake b/VirtualRobot/CMakeModules/FindVirtualRobot.cmake
deleted file mode 100644
index fc4ff3003de6b1f687dc79bd47bd45c6db9684bb..0000000000000000000000000000000000000000
--- a/VirtualRobot/CMakeModules/FindVirtualRobot.cmake
+++ /dev/null
@@ -1,58 +0,0 @@
-# Find VirtualRobot 
-#
-# This find script searches for VirtualRobot and includes all neccessary config files.
-#
-# VirtualRobot_FOUND       - TRUE on success
-# VirtualRobot_INCLUDE_DIR - The include directory
-# VirtualRobot_LIBRARIES   - The libraries
-#
-# Search order
-##  1. ${Custom_Simox_VR_DIR}
-##   2. ${VirtualRobot_DIR}
-##   3. $ENV{VirtualRobot_DIR}
-##   4. ${Simox_DIR}
-##   5. $ENV{Simox_DIR}
-##   [ The paths should point to either the build or the install directory of Simox/VirtualRobot ]
-#
-# A CMakeLists.txt file for setting up a VirtualRobot related project could look like this:
-#
-## PROJECT ( myDemo )
-## SET(VirtualRobot_DIR $ENV{Simox_DIR} CACHE STRING "Choose the path to VirtualRobot (install or build).")
-## FIND_PACKAGE(VirtualRobot REQUIRED)
-## IF(VirtualRobot_USE_COIN_VISUALIZATION)
-##   FILE(GLOB SRCS ${PROJECT_SOURCE_DIR}/myDemo.cpp ${PROJECT_SOURCE_DIR}/myWindow.cpp)
-##   FILE(GLOB INCS ${PROJECT_SOURCE_DIR}/myWindow.h)
-##   set(GUI_MOC_HDRS ${PROJECT_SOURCE_DIR}/myWindow.h)
-##   set(GUI_UIS ${PROJECT_SOURCE_DIR}/myWindow.ui)
-##   VirtualRobotQtApplication(${PROJECT_NAME} "${SRCS}" "${INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
-## ENDIF()
-
-
- 
-#### CMAKE CONFIG
-find_path( VirtualRobot_DIR VirtualRobotConfig.cmake 
-                    "${Custom_Simox_VR_DIR}"
-                    "${VirtualRobot_DIR}" 
-                    "$ENV{VirtualRobot_DIR}"
-                    "${Simox_DIR}" 
-                    "$ENV{SImox_DIR}"
-                    )
-
-
-SET (Simox_VR_CMAKE_CONFIG ${VirtualRobot_DIR}/VirtualRobotConfig.cmake) 
-if (NOT (Simox_FIND_QUIETLY OR VirtualRobot_FIND_QUIETLY)) 
-    MESSAGE(STATUS " Including ${Simox_VR_CMAKE_CONFIG}")
-endif()
-include (${Simox_VR_CMAKE_CONFIG})
-
-if( VirtualRobot_LIBRARIES AND VirtualRobot_DIR)
-    set( VirtualRobot_FOUND TRUE )
-    set( VirtualRobot_INCLUDE_DIR ${VirtualRobot_DIR} )
-    set( VirtualRobot_LIBRARY ${VirtualRobot_LIBRARIES} )
-endif()
-
-include( FindPackageHandleStandardArgs )
-find_package_handle_standard_args( VirtualRobot DEFAULT_MSG VirtualRobot_LIBRARIES VirtualRobot_INCLUDE_DIR )
-
-mark_as_advanced( VirtualRobot_INCLUDE_DIR VirtualRobot_LIBRARIES )
-
diff --git a/VirtualRobot/CMakeModules/VirtualRobotConfig.cmake.in b/VirtualRobot/CMakeModules/VirtualRobotConfig.cmake.in
deleted file mode 100644
index beef66cedd332c389c11fe773ae6f84e304a1f14..0000000000000000000000000000000000000000
--- a/VirtualRobot/CMakeModules/VirtualRobotConfig.cmake.in
+++ /dev/null
@@ -1,57 +0,0 @@
-##  Copyright (c) 2011, Karlsruhe Institute of Technology (Manfred Kroehnert)
-
-# - Config file for the VirtualRobot package
-# It defines the following variables
-#  VirtualRobot_INCLUDE_DIRS  - include directories for VirtualRobot
-#  VirtualRobot_LIBRARY_DIRS  - library directories for VirtualRobot (normally not used!)
-#  VirtualRobot_LIBRARIES     - libraries to link against
-#  VirtualRobot_EXECUTABLES   - the VirtualRobot executable
-#  VirtualRobot_COMPILE_FLAGS - compile flags
-#  VirtualRobot_CMAKE_INCLUDE - list of includes that may be neccessary for external libraries (e.g. QT_USE_FILE)
-#  VirtualRobot_DATA_PATH     - the standard data path
-#  VirtualRobot_CMAKE_DIR     - Path to VirtualRobot cmake files.
-#  VirtualRobot_DIR           - Path to VirtualRobot
-
-# Tell the user project where to find VirtualRobot headers and libraries
-#get_property(VirtualRobot_external_INCLUDE_DIRS TARGET VirtualRobot PROPERTY EXTERNAL_INCLUDE_DIRS)
-#message(STATUS "VirtualRobot_external_INCLUDE_DIRS: ${VirtualRobot_external_INCLUDE_DIRS}")
-
-SET(VirtualRobot_INCLUDE_DIRS "@VirtualRobot_INCLUDE_DIRS@")
-SET(VirtualRobot_LIBRARY_DIRS "@VirtualRobot_LIB_DIRS@")
-SET(VirtualRobot_COMPILE_FLAGS "@VirtualRobot_LIB_FLAGS@")
-SET(VirtualRobot_CMAKE_INCLUDE "@VirtualRobot_LIBRARY_CMAKE_INCLUDE@")
-SET(VirtualRobot_DATA_PATH "@VirtualRobot_DATA_PATH@")
-SET(VirtualRobot_CMAKE_DIR "@VirtualRobot_CMAKE_DIR@")
-SET(VirtualRobot_DIR "@VirtualRobot_DIR@")
-
-# VirtualRobot library dependencies (contains definitions for IMPORTED targets)
-#include("@VirtualRobot_CMAKE_DIR@/VirtualRobotLibraryDepends.cmake")
-
-# These are IMPORTED targets created by VirtualRobotLibraryDepends.cmake
-#SET(VirtualRobot_LIBRARIES "@VirtualRobot_LIBRARIES@")
-SET(VirtualRobot_LIBRARIES "@VirtualRobot_LIBRARIES_ALL@")
-SET(VirtualRobot_EXECUTABLES "@VirtualRobot_EXECUTABLES@")
-
-SET(VirtualRobot_VISUALIZATION "@VirtualRobot_VISUALIZATION@")
-SET(VirtualRobot_USE_COIN_VISUALIZATION "@VirtualRobot_USE_COIN_VISUALIZATION@")
-SET(VirtualRobot_USE_OPENSCENEGRAPH_VISUALIZATION "@VirtualRobot_USE_OPENSCENEGRAPH_VISUALIZATION@")
-SET(VirtualRobot_USE_COLLADA "@VirtualRobot_USE_COLLADA@")
-SET(VirtualRobot_VISUALIZATION_LIBS "@VirtualRobot_VISUALIZATION_LIBS@")
-SET(VirtualRobot_VISUALIZATION_INCLUDE_PATHS "@VirtualRobot_VISUALIZATION_INCLUDE_PATHS@")
-SET(VirtualRobot_VISUALIZATION_COMPILE_FLAGS "@VirtualRobot_VISUALIZATION_COMPILE_FLAGS@")
-
-# Convenient setup: all VirtualRobot-related dependencies are included here.
-# If this causes troubles, disable it by steting VirtualRobot_DISABLE_DEPENDENCIES_INCLUDE.
-# Then you will need to setup the dependencies on your own, similar to the setup in VirtualRobotExternalLibrarySetup.cmake
-IF(NOT VirtualRobot_DISABLE_DEPENDENCIES_INCLUDE)
-	# include all library dependencies
-	if (NOT (Simox_FIND_QUIETLY OR VirtualRobot_FIND_QUIETLY))
-	    MESSAGE (STATUS " * Including ${VirtualRobot_CMAKE_DIR}/VirtualRobotExternalLibrarySetup.cmake")
-	endif()
-	include(${VirtualRobot_CMAKE_DIR}/VirtualRobotExternalLibrarySetup.cmake)
-
-	if (NOT (Simox_FIND_QUIETLY OR VirtualRobot_FIND_QUIETLY))
-	    MESSAGE (STATUS " * Including ${VirtualRobot_CMAKE_DIR}/VirtualRobotMacros.cmake")
-	endif()
-	include(${VirtualRobot_CMAKE_DIR}/VirtualRobotMacros.cmake)
-ENDIF()
diff --git a/VirtualRobot/CMakeModules/VirtualRobotConfigDependencies.cmake b/VirtualRobot/CMakeModules/VirtualRobotConfigDependencies.cmake
deleted file mode 100644
index 76c26debb56a962e6a1a77146bdab2596ce2c054..0000000000000000000000000000000000000000
--- a/VirtualRobot/CMakeModules/VirtualRobotConfigDependencies.cmake
+++ /dev/null
@@ -1,169 +0,0 @@
-
-    SET (VirtualRobot_EXTERNAL_INCLUDE_DIRS "")
-    SET (VirtualRobot_EXTERNAL_LIBRARIES "")
-    SET (VirtualRobot_EXTERNAL_LIBRARY_DIRS "")
-    SET (VirtualRobot_EXTERNAL_LIBRARY_FLAGS "")
-    SET (VirtualRobot_EXTERNAL_LIBRARY_CMAKE_INCLUDE "")
-
-	############################# SETUP MODULES #############################
-	MESSAGE (STATUS "module path: "  ${CMAKE_MODULE_PATH})
-
-	#### Eigen
-	FIND_PACKAGE (Eigen3 REQUIRED)
-	if (Eigen3_FOUND)
-	    SET (VirtualRobot_EXTERNAL_INCLUDE_DIRS ${VirtualRobot_EXTERNAL_INCLUDE_DIRS} ${Eigen3_INCLUDE_DIR})
-	endif (Eigen3_FOUND)
-
-	#### BOOST
-	FIND_PACKAGE(Boost 1.42.0 COMPONENTS filesystem system unit_test_framework program_options thread REQUIRED)
-	if (Boost_FOUND)
-	    MESSAGE (STATUS "Boost found at: ${Boost_INCLUDE_DIR}")
-	    SET (VirtualRobot_EXTERNAL_INCLUDE_DIRS ${VirtualRobot_EXTERNAL_INCLUDE_DIRS} ${Boost_INCLUDE_DIR})
-        SET (VirtualRobot_EXTERNAL_LIBRARY_DIRS ${VirtualRobot_EXTERNAL_LIBRARY_DIRS} ${Boost_LIBRARY_DIRS})
-        SET (VirtualRobot_EXTERNAL_LIBRARIES ${VirtualRobot_EXTERNAL_LIBRARIES} ${Boost_LIBRARIES})
-	    # disable boost auto linking
-        SET (VirtualRobot_EXTERNAL_LIBRARY_FLAGS "${VirtualRobot_EXTERNAL_LIBRARY_FLAGS} -DBOOST_ALL_NO_LIB -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_UNIT_TEST_FRAMEWORK_DYN_LINK -DBOOST_THREAD_DYN_LINK")
-    else (Boost_FOUND)
-	    MESSAGE ("!! Could not find Boost !!")
-	endif (Boost_FOUND)
-
-	#### QT
-	# QT_QMAKE_EXECUTABLE is the only relieable way of setting the qt4 path!
-	# convert env var to cmake define
-	IF(NOT "$ENV{QT_QMAKE_EXECUTABLE}" STREQUAL "")
-	    MESSAGE (STATUS "USING QT-PATH from environment variable QT_QMAKE_EXECUTABLE: $ENV{QT_QMAKE_EXECUTABLE}")
-	    file(TO_CMAKE_PATH "$ENV{QT_QMAKE_EXECUTABLE}" QT_QMAKE_EXECUTABLE)
-	ENDIF()
-	FIND_PACKAGE(Qt4 4.6.0 COMPONENTS QtOpenGL QtCore QtGui)
-
-	#### VISUALIZATION Coin3D+Qt+SoQt / OSG+Qt
-	##########################################
-	SET (VirtualRobot_VISUALIZATION FALSE)
-	SET (VirtualRobot_VISUALIZATION_LIBS "")
-	SET (VirtualRobot_VISUALIZATION_INCLUDE_PATHS "")
-	SET (VirtualRobot_VISUALIZATION_COMPILE_FLAGS "")
-
-	OPTION(VirtualRobot_USE_COIN_VISUALIZATION "Use Coin3D for visualization" ON)
-	OPTION(VirtualRobot_USE_OPENSCENEGRAPH_VISUALIZATION "Use OpenSceneGraph for visualization" OFF)
-	OPTION(VirtualRobot_USE_COLLADA "Enable the loading of robots from collada files" OFF)
-
-
-	if (VirtualRobot_USE_COIN_VISUALIZATION)
-	    MESSAGE(STATUS "Searching Coin3D, Qt and SoQt...")
-
-	    ##### Coin3D
-		FIND_PACKAGE(Coin3D REQUIRED)
-		if (COIN3D_FOUND)
-		    MESSAGE (STATUS "Found Coin3D: " ${COIN3D_INCLUDE_DIRS})
-			##INCLUDE_DIRECTORIES(${COIN3D_INCLUDE_DIRS})
-			##ADD_DEFINITIONS(-DCOIN_DLL)
-		endif (COIN3D_FOUND)
-
-
-		if ( QT_FOUND )
-			MESSAGE (STATUS "Found Qt4: " ${QT_INCLUDE_DIR})
-			MESSAGE (STATUS "QT_USE_FILE: " ${QT_USE_FILE})
-			include(${QT_USE_FILE})
-			SET (VirtualRobot_EXTERNAL_LIBRARY_CMAKE_INCLUDE ${VirtualRobot_EXTERNAL_LIBRARY_CMAKE_INCLUDE} ${QT_USE_FILE})
-			SET (VirtualRobot_EXTERNAL_LIBRARY_DIRS ${VirtualRobot_EXTERNAL_LIBRARY_DIRS} ${QT_LIBRARY_DIR})
-			SET (VirtualRobot_EXTERNAL_LIBRARIES ${VirtualRobot_EXTERNAL_LIBRARIES} ${QT_LIBRARIES})
-
-			#MESSAGE(STATUS "QT_LIBRARIES: " ${QT_LIBRARIES})
-
-			#### SoQt
-			# This will set SoQt_INCLUDE_DIRS and SoQt_LIBRARIES
-			FIND_PACKAGE(SoQt)
-			if (SOQT_FOUND)
-				MESSAGE (STATUS "Found SoQt:" ${SoQt_INCLUDE_DIRS})
-				##ADD_DEFINITIONS(-DSOQT_DLL)
-			else (SOQT_FOUND)
-				MESSAGE (STATUS "Did not found SoQt. Disabling SoQt support.")
-			endif (SOQT_FOUND)
-		else ( QT_FOUND )
-			MESSAGE (STATUS "Did not found Qt. Disabling Qt/SoQt support.")
-		endif ( QT_FOUND )
-
-		if (QT_FOUND AND SOQT_FOUND AND COIN3D_FOUND)
-		    MESSAGE (STATUS "Enabling Coin3D/Qt/SoQt support")
-		    MESSAGE (STATUS "By using the Coin3D library, the license of Simox is not LGPL any more. The license must be GPL, since Coin3D is a GPL library. If you want to use Simox under LGPL you must disable Coin3D support!")
-			SET (VirtualRobot_VISUALIZATION TRUE)
-        	SET (VirtualRobot_VISUALIZATION_LIBS ${QT_LIBRARIES} ${COIN3D_LIBRARIES} ${SoQt_LIBRARIES} )
-        	SET (VirtualRobot_VISUALIZATION_INCLUDE_PATHS ${QT_INCLUDE_DIR} ${SoQt_INCLUDE_DIRS} ${COIN3D_INCLUDE_DIRS} )
-        	SET (VirtualRobot_VISUALIZATION_COMPILE_FLAGS " -DCOIN_DLL -DSOQT_DLL ")
-		endif()
-
-	elseif (VirtualRobot_USE_OPENSCENEGRAPH_VISUALIZATION)
-
-	    MESSAGE(STATUS "Searching OSG and Qt...")
-
-	    FIND_PACKAGE(OpenSceneGraph REQUIRED osgViewer osgUtil osgDB osgGA)
-
-		if (OPENSCENEGRAPH_FOUND)
-		    MESSAGE (STATUS "Found OpenSceneGraph:" ${OPENSCENEGRAPH_INCLUDE_DIRS})
-			##INCLUDE_DIRECTORIES(${OPENSCENEGRAPH_INCLUDE_DIRS})
-		endif (OPENSCENEGRAPH_FOUND)
-
-		if ( QT_FOUND )
-			MESSAGE (STATUS "Found Qt4: " ${QT_INCLUDE_DIR})
-			include(${QT_USE_FILE})
-			#MESSAGE(STATUS "QT_LIBRARIES: " ${QT_LIBRARIES})
-		else ( QT_FOUND )
-			MESSAGE (STATUS "Did not found Qt. Disabling Qt/OSG support.")
-		endif ( QT_FOUND )
-
-		if (QT_FOUND AND OPENSCENEGRAPH_FOUND)
-		    MESSAGE (STATUS "Enabling OSG/Qt support")
-		    ### a little hack is needed here since osgQt is not supported in the FindOSG script
-		    MESSAGE("OPENSCENEGRAPH_LIBRARIES: ${OPENSCENEGRAPH_LIBRARIES}")
-		    LIST(GET OPENSCENEGRAPH_LIBRARIES 1 firstOsgLib)
-		    MESSAGE("firstOsgLib: ${firstOsgLib}")
-		    GET_FILENAME_COMPONENT(osgLibPath ${firstOsgLib} PATH)
-		    MESSAGE("osgLibPath: ${osgLibPath}")
-		    if (UNIX)
-			    list(APPEND OPENSCENEGRAPH_LIBRARIES ${osgLibPath}/libosgQt.so)
-		    else()
-			    list(APPEND OPENSCENEGRAPH_LIBRARIES optimized)
-			    list(APPEND OPENSCENEGRAPH_LIBRARIES ${osgLibPath}/osgQt.lib)
-		    	list(APPEND OPENSCENEGRAPH_LIBRARIES debug)
-		    	list(APPEND OPENSCENEGRAPH_LIBRARIES ${osgLibPath}/osgQtd.lib)
-		    endif()
-		    MESSAGE("OPENSCENEGRAPH_LIBRARIES: ${OPENSCENEGRAPH_LIBRARIES}")
-			SET (VirtualRobot_VISUALIZATION TRUE)
-        	SET (VirtualRobot_VISUALIZATION_LIBS ${QT_LIBRARIES} ${OPENSCENEGRAPH_LIBRARIES} )
-        	SET (VirtualRobot_VISUALIZATION_INCLUDE_PATHS ${OPENSCENEGRAPH_INCLUDE_DIRS} )
-        	SET (VirtualRobot_VISUALIZATION_COMPILE_FLAGS "")
-		endif()
-
-	else()
-	    MESSAGE(STATUS "Visualization disabled")
-	endif()
-
-	if (VirtualRobot_USE_COLLADA)
-	    MESSAGE(STATUS "Searching for Collada...")
-
-    	FIND_PACKAGE(COLLADA_DOM REQUIRED 2.4)
-
-    	IF(COLLADA_DOM_FOUND)
-        	MESSAGE (STATUS "Found Collada")
-        	MESSAGE (STATUS "Collada COLLADA_DOM_ROOT_DIR : ${COLLADA_DOM_ROOT_DIR}")
-	        MESSAGE (STATUS "Collada Include DIRS: ${COLLADA_DOM_INCLUDE_DIRS}")
-	        MESSAGE (STATUS "Collada Libs: ${COLLADA_DOM_LIBRARIES}")
-	        MESSAGE (STATUS "Collada COLLADA_DOM_LIBRARY_DIRS: ${COLLADA_DOM_LIBRARY_DIRS}")
-
-	        FIND_LIBRARY(COLLADA_LIBRARY ${COLLADA_DOM_LIBRARIES} ${COLLADA_DOM_LIBRARY_DIRS})
-	        MESSAGE (STATUS "Collada Full Collada lib: ${COLLADA_LIBRARY}")
-
-	        #include_directories(${COLLADA_DOM_INCLUDE_DIRS})
-
-	        SET (VirtualRobot_EXTERNAL_INCLUDE_DIRS ${VirtualRobot_EXTERNAL_INCLUDE_DIRS} ${COLLADA_DOM_INCLUDE_DIRS})
-			SET (VirtualRobot_EXTERNAL_LIBRARIES ${VirtualRobot_EXTERNAL_LIBRARIES} ${COLLADA_LIBRARY})
-	    ENDIF()
-	endif()
-
-    SET (VirtualRobot_EXTERNAL_INCLUDE_DIRS ${VirtualRobot_EXTERNAL_INCLUDE_DIRS} ${VirtualRobot_VISUALIZATION_INCLUDE_PATHS})
-    SET (VirtualRobot_EXTERNAL_LIBRARIES ${VirtualRobot_EXTERNAL_LIBRARIES} ${VirtualRobot_VISUALIZATION_LIBS})
-    SET (VirtualRobot_EXTERNAL_LIBRARY_FLAGS "${VirtualRobot_EXTERNAL_LIBRARY_FLAGS} ${VirtualRobot_VISUALIZATION_COMPILE_FLAGS}")
-    MESSAGE(STATUS "VirtualRobot_EXTERNAL_INCLUDE_DIRS:${VirtualRobot_EXTERNAL_INCLUDE_DIRS}")
-    MESSAGE(STATUS "VirtualRobot_EXTERNAL_LIBRARY_DIRS:${VirtualRobot_EXTERNAL_LIBRARY_DIRS}")
-    MESSAGE(STATUS "VirtualRobot_EXTERNAL_LIBRARIES:${VirtualRobot_EXTERNAL_LIBRARIES}")
-    MESSAGE(STATUS "VirtualRobot_EXTERNAL_LIBRARY_FLAGS:${VirtualRobot_EXTERNAL_LIBRARY_FLAGS}")
diff --git a/VirtualRobot/CMakeModules/VirtualRobotConfigVersion.cmake.in b/VirtualRobot/CMakeModules/VirtualRobotConfigVersion.cmake.in
deleted file mode 100644
index 76822934d8509ddbfa22bc2e4204bace693f7e43..0000000000000000000000000000000000000000
--- a/VirtualRobot/CMakeModules/VirtualRobotConfigVersion.cmake.in
+++ /dev/null
@@ -1,13 +0,0 @@
-##  Copyright (c) 2011, Karlsruhe Institute of Technology (Manfred Kroehnert)
-
-set(PACKAGE_VERSION "@VirtualRobot_VERSION@")
-
-  # Check whether the requested PACKAGE_FIND_VERSION is compatible
-  if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
-    set(PACKAGE_VERSION_COMPATIBLE FALSE)
-  else()
-    set(PACKAGE_VERSION_COMPATIBLE TRUE)
-    if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}")
-      set(PACKAGE_VERSION_EXACT TRUE)
-    endif()
-endif()
\ No newline at end of file
diff --git a/VirtualRobot/CMakeModules/VirtualRobotExternalLibrarySetup.cmake b/VirtualRobot/CMakeModules/VirtualRobotExternalLibrarySetup.cmake
deleted file mode 100644
index 791ce03bac0dff3f33f3318cab3ba86ca5e3f45a..0000000000000000000000000000000000000000
--- a/VirtualRobot/CMakeModules/VirtualRobotExternalLibrarySetup.cmake
+++ /dev/null
@@ -1,43 +0,0 @@
-
-# Setup paths, libs and external cmake files to be used for VirtualRobot
-
-
-if (NOT (Simox_FIND_QUIETLY OR VirtualRobot_FIND_QUIETLY)) 
-    MESSAGE(STATUS "SETTING LIBRARY DEPENDENCIES FOR VIRTUAL ROBOT")
-    MESSAGE(STATUS " * VirtualRobot_VISUALIZATION: ${VirtualRobot_VISUALIZATION}")
-endif()
-
-IF (VirtualRobot_VISUALIZATION)
-    # we need to check for Qt4
-    IF(NOT "$ENV{QT_QMAKE_EXECUTABLE}" STREQUAL "")
-        if (NOT (Simox_FIND_QUIETLY OR VirtualRobot_FIND_QUIETLY)) 
-	        MESSAGE (STATUS "USING QT-PATH from environment variable QT_QMAKE_EXECUTABLE: $ENV{QT_QMAKE_EXECUTABLE}")
-	    endif()
-	    file(TO_CMAKE_PATH "$ENV{QT_QMAKE_EXECUTABLE}" QT_QMAKE_EXECUTABLE)
-	ENDIF()
-    FIND_PACKAGE(Qt4 4.6.0 COMPONENTS QtOpenGL QtCore QtGui)
-ENDIF()
-
-if (NOT (Simox_FIND_QUIETLY OR VirtualRobot_FIND_QUIETLY)) 
-    MESSAGE(STATUS " * VirtualRobot_INCLUDE_DIRS: ${VirtualRobot_INCLUDE_DIRS}")
-endif()
-INCLUDE_DIRECTORIES(${VirtualRobot_INCLUDE_DIRS})
-
-if (NOT (Simox_FIND_QUIETLY OR VirtualRobot_FIND_QUIETLY)) 
-    MESSAGE(STATUS " * VirtualRobot_COMPILE_FLAGS: ${VirtualRobot_COMPILE_FLAGS}")
-endif()
-ADD_DEFINITIONS( ${VirtualRobot_COMPILE_FLAGS} )
-
-if (NOT (Simox_FIND_QUIETLY OR VirtualRobot_FIND_QUIETLY)) 
-    MESSAGE(STATUS " * VirtualRobot_LIBRARY_DIRS: ${VirtualRobot_LIBRARY_DIRS}")
-endif()
-LINK_DIRECTORIES( ${VirtualRobot_LIBRARY_DIRS} )
-
-#MESSAGE(STATUS " * VirtualRobot_CMAKE_INCLUDE: ${VirtualRobot_CMAKE_INCLUDE}")
-FOREACH(f ${VirtualRobot_CMAKE_INCLUDE})
-    if (NOT (Simox_FIND_QUIETLY OR VirtualRobot_FIND_QUIETLY)) 
-        MESSAGE(STATUS " * VirtualRobot_CMAKE_INCLUDE: ${f}")
-    endif()
-    INCLUDE(${f})
-ENDFOREACH(f) 
-
diff --git a/VirtualRobot/CMakeModules/VirtualRobotMacros.cmake b/VirtualRobot/CMakeModules/VirtualRobotMacros.cmake
deleted file mode 100644
index 6b88d20105806c3bfbe6e89a1e40fc389f476fd6..0000000000000000000000000000000000000000
--- a/VirtualRobot/CMakeModules/VirtualRobotMacros.cmake
+++ /dev/null
@@ -1,30 +0,0 @@
-
-# Build and helper macros
-
-function(VirtualRobotQtApplication name srcs incs mocFiles uiFiles)
-
-    MESSAGE (STATUS "Qt Moc'ing: ${mocFiles}")
-    qt4_wrap_cpp(generatedMocFiles ${mocFiles})
-    MESSAGE (STATUS "Qt ui files: ${uiFiles}")
-    qt4_wrap_ui(generatedUiFiles ${uiFiles})
-    INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR} )
-
-	IF(MSVC)
-			ADD_DEFINITIONS(/MP)
-	ENDIF(MSVC)
-
-    ################################## EXECUTABLE ##############################
-    ADD_EXECUTABLE(${name} ${srcs} ${incs} ${generatedUiFiles} ${generatedMocFiles})
-    TARGET_LINK_LIBRARIES(${name} VirtualRobot ${VirtualRobot_VISUALIZATION_LIBS})
-
-endfunction()
-
-
-function(SimoxQtApplication name srcs incs mocFiles uiFiles)
-
-    VirtualRobotQtApplication("${name}" "${srcs}" "${incs}" "${mocFiles}" "${uiFiles}")
-        
-    # add Saba and GraspStudio
-    TARGET_LINK_LIBRARIES(${name} GraspStudio Saba)
-
-endfunction()
diff --git a/VirtualRobot/CollisionDetection/CMakeLists.txt b/VirtualRobot/CollisionDetection/CMakeLists.txt
index d790f2794b5a8d3c2b747244064fee902ea60e94..8f41cbf5e41bbd462c66d8f7cd0714499da4c3a2 100644
--- a/VirtualRobot/CollisionDetection/CMakeLists.txt
+++ b/VirtualRobot/CollisionDetection/CMakeLists.txt
@@ -3,15 +3,15 @@
 FILE(GLOB SRCS ${PROJECT_SOURCE_DIR}/*.cpp)
 
 # check for requested collision detection wrappers
-OPTION(VR_COLLISION_CHECKER_PQP "Build and use the PQP Collision Detection library (located in ExternalDependencies)" ON)
-IF (VR_COLLISION_CHECKER_PQP)
+OPTION(Simox_COLLISION_CHECKER_PQP "Build and use the PQP Collision Detection library (located in ExternalDependencies)" ON)
+IF (Simox_COLLISION_CHECKER_PQP)
 	MESSAGE (STATUS " ** COLLISION DETECTION: PQP")
 	SET (COL_CHECKER_WRAPPER_DIR ${PROJECT_SOURCE_DIR}/CollisionDetection/PQP)	
 	SET(VR_COLLISION_DETECTION_PQP 1)
 	SET(COLLISIONDETECTION_LIB ColCheckerPQP)
 	SET(COLLISIONDETECTION_DIR ${COL_CHECKER_WRAPPER_DIR}/PQP++)
 	SET(COLLISIONDETECTION_INC_DIR ${COLLISIONDETECTION_DIR})
-	SET(COLLISIONDETECTION_LIB_DIR ${VR_LIB_DIR})
+	SET(COLLISIONDETECTION_LIB_DIR ${Simox_LIB_DIR})
 	
 	# create PQP lib
 	ADD_SUBDIRECTORY(${COLLISIONDETECTION_DIR})
@@ -19,9 +19,9 @@ ELSE()
 	# DUMMY
 	MESSAGE (STATUS "WARNING: NO LIBRARY DEFINED FOR COLLISION DETECTION: COLLISION DETECTION IS DISABLED!")
 	SET (COL_CHECKER_WRAPPER_DIR ${PROJECT_SOURCE_DIR}/CollisionDetection/Dummy)	
-	SET(COLLISIONDETECTION_DIR ${VR_DIR}/VirtualRobot/CollisionDetection/Dummy)
+	SET(COLLISIONDETECTION_DIR ${Simox_DIR}/VirtualRobot/CollisionDetection/Dummy)
 	SET(COLLISIONDETECTION_INC_DIR ${COLLISIONDETECTION_DIR})
-	SET(COLLISIONDETECTION_LIB_DIR ${VR_LIB_DIR})
+	SET(COLLISIONDETECTION_LIB_DIR ${Simox_LIB_DIR})
 ENDIF ()
 MESSAGE (STATUS " ** Directory of collision detection wrapper: " ${COL_CHECKER_WRAPPER_DIR})
 
diff --git a/VirtualRobot/CollisionDetection/CollisionModel.cpp b/VirtualRobot/CollisionDetection/CollisionModel.cpp
index f59be1f33d23918ff78490bd78fd681fb67e3f91..6f6c8ae018933f457a475956ccb2bc95855fde96 100644
--- a/VirtualRobot/CollisionDetection/CollisionModel.cpp
+++ b/VirtualRobot/CollisionDetection/CollisionModel.cpp
@@ -37,7 +37,7 @@ CollisionModel::CollisionModel(VisualizationNodePtr visu, const std::string &nam
 #if defined(VR_COLLISION_DETECTION_PQP)
 	collisionModelImplementation.reset(new CollisionModelPQP(model, colChecker,id));
 #else
-	collisionModelImplementation.reset(new CollisionModelDummy(model, colChecker,id));
+	collisionModelImplementation.reset(new CollisionModelDummy(colChecker));
 #endif
 }
 
@@ -258,7 +258,7 @@ void CollisionModel::scale( Eigen::Vector3f &scaleFactor )
 #if defined(VR_COLLISION_DETECTION_PQP)
         collisionModelImplementation.reset(new CollisionModelPQP(modelScaled, colChecker,id));
 #else
-        collisionModelImplementation.reset(new CollisionModelDummy(modelScaled, colChecker,id));
+        collisionModelImplementation.reset(new CollisionModelDummy(colChecker));
 #endif
     }
     if (visualization)
diff --git a/VirtualRobot/CollisionDetection/PQP/PQP++/CMakeLists.txt b/VirtualRobot/CollisionDetection/PQP/PQP++/CMakeLists.txt
index 6127dfc499dce955aa354354ccd6e70fbfd15d44..775152440c07c520875aaecbff121a1d672edc4b 100644
--- a/VirtualRobot/CollisionDetection/PQP/PQP++/CMakeLists.txt
+++ b/VirtualRobot/CollisionDetection/PQP/PQP++/CMakeLists.txt
@@ -2,6 +2,7 @@ PROJECT(ColCheckerPQP)
 
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6.0)
 CMAKE_POLICY(VERSION 2.6)
+MESSAGE (STATUS " **** Configuring PQP")
 
 ADD_DEFINITIONS(-DUSE_PQP)
 
@@ -13,24 +14,37 @@ INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR})
 
 ADD_LIBRARY(${PROJECT_NAME} STATIC ${SRCS} ${INCS})
 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "3rd_Party")
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${VirtualRobot_LIB_DIR})
 IF(UNIX)
-#MESSAGE("PQP 2: CMAKE_SYSTEM_PROCESSOR:${CMAKE_SYSTEM_PROCESSOR}")
 	# We are on Linux
-#	IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
-#MESSAGE("PQP 3")
-		ADD_DEFINITIONS(-fPIC)
-#	ENDIF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
+	ADD_DEFINITIONS(-fPIC)
 ENDIF(UNIX)
 
-TARGET_LINK_LIBRARIES(${PROJECT_NAME})
+MESSAGE(STATUS " ** ${PROJECT_NAME}  will be placed into " ${Simox_LIB_DIR})
 
-MESSAGE(STATUS " ** ${PROJECT_NAME}  will be placed into " ${VirtualRobot_LIB_DIR})
 
-MESSAGE(STATUS " ** make install will install " ${PROJECT_NAME} " into " ${VirtualRobot_INSTALL_LIB_DIR})
-INSTALL(TARGETS ${PROJECT_NAME}
-        EXPORT VirtualRobotLibraryDepends
-        DESTINATION ${VirtualRobot_INSTALL_LIB_DIR}
-	COMPONENT Libraries
-)
+# .DLL path
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
+# .so path
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${Simox_LIB_DIR})
+# .lib path (this is needed for setting the DLL-import library path on windows)
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${Simox_LIB_DIR})
 
+
+  
+  
+#######################################################################################
+############################ Setup for installation ###################################
+#######################################################################################
+
+
+#set_target_properties(${PROJECT_NAME} PROPERTIES
+#  PUBLIC_HEADER "${INCS}")
+
+install(TARGETS ${PROJECT_NAME}
+  # IMPORTANT: Add the library to the "export-set"
+  EXPORT SimoxTargets
+  RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+  LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT shlib
+  ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" COMPONENT library
+  COMPONENT dev)
+#  PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/VirtualRobot"
diff --git a/VirtualRobot/VirtualRobot.h b/VirtualRobot/VirtualRobot.h
index 711d3ad0167910f1978828afe08d5945320d392f..73b98afa3589fc5a18b7b0df1313df877d18fd20 100644
--- a/VirtualRobot/VirtualRobot.h
+++ b/VirtualRobot/VirtualRobot.h
@@ -89,8 +89,9 @@
  */ 
 
 // include compile time defines, generated by cmake
-#include "definesVR.h"
-
+//#include "definesVR.h"
+// for now we know that PQP is used- ToDo: Change CollisionChecker implementation, use AbstractFactoryMethods
+#define VR_COLLISION_DETECTION_PQP
 
 
 #ifdef WIN32
diff --git a/VirtualRobot/VirtualRobotTest.h b/VirtualRobot/VirtualRobotTest.h
index 81d6a06bfca2f3c82be15c8e4ccd9a0f88e1f002..789bfe78420f1ac547923ad29fcdff09efc825c4 100644
--- a/VirtualRobot/VirtualRobotTest.h
+++ b/VirtualRobot/VirtualRobotTest.h
@@ -23,9 +23,12 @@
 #ifndef _VirtualRobot_Test_h_
 #define _VirtualRobot_Test_h_
 
+#ifndef BOOST_TEST_DYN_LINK
 #define BOOST_TEST_DYN_LINK
+#endif 
+
 #include "VirtualRobotImportExport.h"
-#include "definesVR.h"
+//#include "definesVR.h"
 #include <boost/test/unit_test.hpp>
 #include <string>
 #include <fstream>
@@ -34,7 +37,10 @@ struct OutputConfiguration
 {
 	OutputConfiguration()
 	{
-		std::string logFileName(VirtualRobot_TEST_DIR);
+        std::string logFileName;
+#ifdef Simox_TEST_DIR
+		logFileName = std::string(Simox_TEST_DIR);
+#endif
 		logFileName.append(boost::unit_test::framework::master_test_suite().p_name);
 		logFileName.append(".xml");
 		logFile.open(logFileName.c_str());
diff --git a/VirtualRobot/Workspace/WorkspaceRepresentation.cpp b/VirtualRobot/Workspace/WorkspaceRepresentation.cpp
index 8e2b5a372ee55ced61a391db6b66ba79be1e2c8f..521099d298f9a79cb9018cf9365f31657e3b4681 100644
--- a/VirtualRobot/Workspace/WorkspaceRepresentation.cpp
+++ b/VirtualRobot/Workspace/WorkspaceRepresentation.cpp
@@ -142,7 +142,8 @@ void WorkspaceRepresentation::load(const std::string &filename)
 		FileIO::readString(tmpString, file);
 		bool fileTypeOK = false;
 		if (tmpString == "WorkspaceRepresentation Binary File" ||
-		    tmpString == "Reachability Binary File" ||
+            tmpString == "Reachability Binary File" ||
+            tmpString == "Reachbaility Binary File" || // typo in old versions
 		    tmpString == "Manipulability Binary File" ||
 		    tmpString == "ReachabilitySpace Binary File" ||
 		    tmpString == tmpStr2)
diff --git a/VirtualRobot/config.cmake b/VirtualRobot/config.cmake
deleted file mode 100644
index f42e774761c0e25196c710fb4a70fc3fa806e602..0000000000000000000000000000000000000000
--- a/VirtualRobot/config.cmake
+++ /dev/null
@@ -1,127 +0,0 @@
-
-IF (NOT VirtualRobot_CONFIGURED)
-
-    SET(VirtualRobot_CONFIGURED TRUE)
-    
-    GET_FILENAME_COMPONENT (CurrentVRPath ${CMAKE_CURRENT_LIST_FILE} PATH)
-    SET(VR_DIR ${CurrentVRPath})
-    MESSAGE (STATUS "** VR_DIR: ${VR_DIR}")
-    SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${VR_DIR}/CMakeModules)
-    
-    INCLUDE (${VR_DIR}/CMakeModules/VirtualRobotConfigDependencies.cmake)
-    
-    
-     # use virtual folders for grouping projects in IDEs 
-	set_property(GLOBAL PROPERTY USE_FOLDERS ON)
-    
-    ############################# SETUP PATHS #############################
-
-    # Allow #include <VirtualRobot/*.h>
-    INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR} ${VR_DIR}/..)
-    
- 
-    # Define, where to put the libs and binaries
-    IF (NOT DEFINED BIN_DIR)
-        SET(BIN_DIR bin)
-    ENDIF()
-    IF (NOT DEFINED LIB_DIR)
-        SET(LIB_DIR lib)
-    ENDIF()
-    	
-    # check if we are enforced to build to some destination
-    IF(DEFINED VirtualRobot_BUILD_DIRECTORY)
-    	get_filename_component(VirtualRobot_BUILD_DIRECTORY ${VirtualRobot_BUILD_DIRECTORY} ABSOLUTE)
-    	MESSAGE (STATUS "** VirtualRobot Build dir defined: ${VirtualRobot_BUILD_DIRECTORY}")
-    ELSE()
-    	SET(VirtualRobot_BUILD_DIRECTORY ${CMAKE_BINARY_DIR})
-    	MESSAGE (STATUS "** VirtualRobot Build dir not defined, using CMAKE_BINARY_DIR: ${VirtualRobot_BUILD_DIRECTORY}")
-    ENDIF()
-    
-    SET(VirtualRobot_LIB_DIR ${VirtualRobot_BUILD_DIRECTORY}/${LIB_DIR})
-    SET(VirtualRobot_BIN_DIR ${VirtualRobot_BUILD_DIRECTORY}/${BIN_DIR})
-    
-    MESSAGE (STATUS "** VirtualRobot LIB DIR: ${VirtualRobot_LIB_DIR}")
-    MESSAGE (STATUS "** VirtualRobot BIN DIR: ${VirtualRobot_BIN_DIR}")
-    
-    
-    # Define, where to install the binaries
-    IF (NOT DEFINED VirtualRobot_INSTALL_LIB_DIR)
-        SET(VirtualRobot_INSTALL_LIB_DIR ${CMAKE_INSTALL_PREFIX}/${LIB_DIR})
-    ENDIF()
-    IF (NOT DEFINED VirtualRobot_INSTALL_BIN_DIR)
-        SET(VirtualRobot_INSTALL_BIN_DIR ${CMAKE_INSTALL_PREFIX}/${BIN_DIR})
-    ENDIF()
-    IF (NOT DEFINED VirtualRobot_INSTALL_HEADER_DIR)
-        SET(VirtualRobot_INSTALL_HEADER_DIR ${CMAKE_INSTALL_PREFIX}/include)
-    ENDIF()
-    
-    
-    ############################# Set OS specific options #############################
-    IF(UNIX)
-    	# We are on Linux
-    	SET(VirtualRobot_TEST_DIR ${VirtualRobot_BIN_DIR}/tests)
-    	IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
-			ADD_DEFINITIONS(-fPIC)
-		ENDIF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
-	
-		IF(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
-			MESSAGE(STATUS "Configuring Debug build")
-			ADD_DEFINITIONS(-D_DEBUG) # -Wall -W -Werror -pedantic)
-		ELSE()
-			MESSAGE(STATUS "Configuring Release build")
-		ENDIF()
-		
-		# use, i.e. don't skip the full RPATH for the build tree
-		SET(CMAKE_SKIP_BUILD_RPATH  FALSE)
-
-		# when building, don't use the install RPATH already
-		# (but later on when installing)
-		SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) 
-
-		SET(CMAKE_INSTALL_RPATH "${VirtualRobot_LIB_DIR}")
-
-		# add the automatically determined parts of the RPATH
-		# which point to directories outside the build tree to the install RPATH
-		SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
-
-
-		# the RPATH to be used when installing, but only if it's not a system directory
-		LIST(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${VirtualRobot_LIB_DIR}" isSystemDir)
-		IF("${isSystemDir}" STREQUAL "-1")
-		   SET(CMAKE_INSTALL_RPATH "${VirtualRobot_LIB_DIR}")
-		ENDIF("${isSystemDir}" STREQUAL "-1")
-
-
-    ELSE(UNIX)
-    	# We are on Windows
-    	SET(VirtualRobot_TEST_DIR ${VirtualRobot_BIN_DIR})
-    	ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS)
-		
-		# On MSVC we compile with /MP flag (use multiple threads)
-		IF(MSVC)
-			ADD_DEFINITIONS(/MP)
-		ENDIF(MSVC)
-    ENDIF(UNIX)
-    
-    
-    #######################################################################
-    # Setup for testing
-    #######################################################################
-    ENABLE_TESTING()
-    INCLUDE(CTest)
-    
-    MESSAGE(STATUS "** Test output directory: ${VirtualRobot_TEST_DIR}")
-    
-    MACRO(ADD_VR_TEST TEST_NAME)
-        
-        INCLUDE_DIRECTORIES(${VirtualRobot_EXTERNAL_INCLUDE_DIRS})
-        ADD_DEFINITIONS(${VirtualRobot_EXTERNAL_LIBRARY_FLAGS})
-    	ADD_EXECUTABLE(${TEST_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/${TEST_NAME}.cpp)
-    	TARGET_LINK_LIBRARIES(${TEST_NAME} VirtualRobot ${VirtualRobot_EXTERNAL_LIBRARIES})
-    	SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${VirtualRobot_TEST_DIR})
-    	SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES FOLDER "VirtualRobot Tests")
-    	ADD_TEST(NAME VirtualRobot_${TEST_NAME}
-    	         COMMAND ${VirtualRobot_TEST_DIR}/${TEST_NAME} --output_format=XML --log_level=all --report_level=no)
-    ENDMACRO(ADD_VR_TEST)
-    
-ENDIF (NOT VirtualRobot_CONFIGURED)
diff --git a/VirtualRobot/definesVR.h.cmake b/VirtualRobot/definesVR.h.cmake
deleted file mode 100644
index 11bb599e2b0655c95702e9123ca277556896eb36..0000000000000000000000000000000000000000
--- a/VirtualRobot/definesVR.h.cmake
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _VIRTUAL_ROBOT_DEFINES_H_
-#define _VIRTUAL_ROBOT_DEFINES_H_
-
-#cmakedefine VR_COLLISION_DETECTION_PQP @VR_COLLISION_DETECTION_PQP@
-#define VirtualRobot_TEST_DIR "@VirtualRobot_TEST_DIR@/"
-
-
-#endif /* _VIRTUAL_ROBOT_DEFINES_H_ */
diff --git a/VirtualRobot/examples/GenericIK/CMakeLists.txt b/VirtualRobot/examples/GenericIK/CMakeLists.txt
index 2c83bef653fc63fd89e96cf198d84282f3127828..1eb71879a3b220498d3ba0918bbb1807e3b3e522 100644
--- a/VirtualRobot/examples/GenericIK/CMakeLists.txt
+++ b/VirtualRobot/examples/GenericIK/CMakeLists.txt
@@ -4,52 +4,38 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4)
 
 CMAKE_POLICY(VERSION 2.6)
 
+INCLUDE(${Simox_DIR}/CMakeModules/SimoxMacros.cmake)
 
-IF(VirtualRobot_VISUALIZATION AND VirtualRobot_USE_COIN_VISUALIZATION)
+IF(Simox_VISUALIZATION AND Simox_USE_COIN_VISUALIZATION)
 
-    LINK_DIRECTORIES(${VirtualRobot_LIB_DIR})
-    
-	    
 	# the variable "demo_SRCS" contains all .cpp files of this project
 	FILE(GLOB demo_SRCS ${PROJECT_SOURCE_DIR}/GenericIKDemo.cpp ${PROJECT_SOURCE_DIR}/GenericIKWindow.cpp)
 	FILE(GLOB demo_INCS ${PROJECT_SOURCE_DIR}/GenericIKWindow.h)
-
   
-    ################################## moc'ing ##############################
-    set(GUI_MOC_HDRS
-        ${PROJECT_SOURCE_DIR}/GenericIKWindow.h
-    )
-
-    set(GUI_UIS
-        ${PROJECT_SOURCE_DIR}/GenericIK.ui
-    )
-
-	#MESSAGE("GUI_MOC_HDRS: ${GUI_MOC_HDRS}")
-	#MESSAGE("GUI_UIS: ${GUI_UIS}")
-    qt4_wrap_cpp(demo_SRCS ${GUI_MOC_HDRS})
-    qt4_wrap_ui(UI_HEADER ${GUI_UIS})
-    get_filename_component(UI_HEADER_DIR ${UI_HEADER} PATH)
-	#MESSAGE("UI_HEADER: ${UI_HEADER}")
-    list(APPEND demo_INCS ${UI_HEADER})
-
-    include_directories(${UI_HEADER_DIR})
-
-
-    ADD_EXECUTABLE(${PROJECT_NAME} ${demo_SRCS} ${demo_INCS})
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${VirtualRobot_BIN_DIR})
-
-#MESSAGE("QT_LIBRARIES :" ${QT_LIBRARIES})
-    TARGET_LINK_LIBRARIES(${PROJECT_NAME} VirtualRobot ${VirtualRobot_VISUALIZATION_LIBS})
-    INCLUDE_DIRECTORIES(${VirtualRobot_VISUALIZATION_INCLUDE_PATHS})
-    INCLUDE(${QT_USE_FILE})
-    ADD_DEFINITIONS(${VirtualRobot_VISUALIZATION_COMPILE_FLAGS})
-
-    INSTALL(TARGETS ${PROJECT_NAME}
-        DESTINATION ${VirtualRobot_INSTALL_BIN_DIR}
-	COMPONENT Applications
-	)
-        
-    MESSAGE( STATUS ${PROJECT_NAME} " will be placed into " ${VirtualRobot_BIN_DIR})
-    MESSAGE( STATUS ${PROJECT_NAME} " will be installed into " ${VirtualRobot_INSTALL_BIN_DIR})
+  ################################## moc'ing ##############################
+  set(GUI_MOC_HDRS
+      ${PROJECT_SOURCE_DIR}/GenericIKWindow.h
+  )
+  
+  set(GUI_UIS
+      ${PROJECT_SOURCE_DIR}/GenericIK.ui
+  )
+
+	# create the executable
+  VirtualRobotQtApplication(${PROJECT_NAME} "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
+   
+  #######################################################################################
+  ############################ Setup for installation ###################################
+  #######################################################################################
+
+  install(TARGETS ${PROJECT_NAME}
+    # IMPORTANT: Add the library to the "export-set"
+    EXPORT SimoxTargets
+    RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+    COMPONENT dev)
+
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be placed into " ${Simox_BIN_DIR})
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be installed into " ${INSTALL_BIN_DIR})
 ENDIF()
diff --git a/VirtualRobot/examples/GraspEditor/CMakeLists.txt b/VirtualRobot/examples/GraspEditor/CMakeLists.txt
index 5b8850799bd8f5cf928b93f76dc07421b961ffe3..6efdae6357f3506030de4e3753f39cc1aac45197 100644
--- a/VirtualRobot/examples/GraspEditor/CMakeLists.txt
+++ b/VirtualRobot/examples/GraspEditor/CMakeLists.txt
@@ -4,48 +4,40 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4)
 
 CMAKE_POLICY(VERSION 2.6)
 
-IF(VirtualRobot_VISUALIZATION AND VirtualRobot_USE_COIN_VISUALIZATION)
+INCLUDE(${Simox_DIR}/CMakeModules/SimoxMacros.cmake)
+
+IF(Simox_VISUALIZATION AND Simox_USE_COIN_VISUALIZATION)
 
-    LINK_DIRECTORIES(${VirtualRobot_LIB_DIR})
-    
-	    
 	# the variable "demo_SRCS" contains all .cpp files of this project
 	FILE(GLOB demo_SRCS ${PROJECT_SOURCE_DIR}/GraspEditor.cpp ${PROJECT_SOURCE_DIR}/GraspEditorWindow.cpp)
 	FILE(GLOB demo_INCS ${PROJECT_SOURCE_DIR}/GraspEditorWindow.h)
-
   
-    ################################## moc'ing ##############################
-    set(GUI_MOC_HDRS
-        ${PROJECT_SOURCE_DIR}/GraspEditorWindow.h
-    )
-
-    set(GUI_UIS
-        ${PROJECT_SOURCE_DIR}/GraspEditor.ui
-    )
-
-    qt4_wrap_cpp(demo_SRCS ${GUI_MOC_HDRS})
-    qt4_wrap_ui(UI_HEADER ${GUI_UIS})
-    get_filename_component(UI_HEADER_DIR ${UI_HEADER} PATH)
-    list(APPEND demo_INCS ${UI_HEADER})
-
-    include_directories(${UI_HEADER_DIR})
-
-
-    ADD_EXECUTABLE(${PROJECT_NAME} ${demo_SRCS} ${demo_INCS})
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${VirtualRobot_BIN_DIR})
-
-    TARGET_LINK_LIBRARIES(${PROJECT_NAME} VirtualRobot ${VirtualRobot_VISUALIZATION_LIBS})
-    INCLUDE_DIRECTORIES(${VirtualRobot_VISUALIZATION_INCLUDE_PATHS})
-    INCLUDE(${QT_USE_FILE})
-    ADD_DEFINITIONS(${VirtualRobot_VISUALIZATION_COMPILE_FLAGS})
-     
-    INSTALL(TARGETS ${PROJECT_NAME}
-        DESTINATION ${VirtualRobot_INSTALL_BIN_DIR}
-	COMPONENT Applications
-	)
-        
-    MESSAGE( STATUS ${PROJECT_NAME} " will be placed into " ${VirtualRobot_BIN_DIR})
-    MESSAGE( STATUS ${PROJECT_NAME} " will be installed into " ${VirtualRobot_INSTALL_BIN_DIR})
+  ################################## moc'ing ##############################
+  set(GUI_MOC_HDRS
+      ${PROJECT_SOURCE_DIR}/GraspEditorWindow.h
+  )
+
+  set(GUI_UIS
+      ${PROJECT_SOURCE_DIR}/GraspEditor.ui
+  )
+
+ 	# create the executable
+  VirtualRobotQtApplication(${PROJECT_NAME} "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
+   
+  #######################################################################################
+  ############################ Setup for installation ###################################
+  #######################################################################################
+
+  install(TARGETS ${PROJECT_NAME}
+    # IMPORTANT: Add the library to the "export-set"
+    EXPORT SimoxTargets
+    RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+    COMPONENT dev)
+
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be placed into " ${Simox_BIN_DIR})
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be installed into " ${INSTALL_BIN_DIR})
+
 
 ENDIF()
diff --git a/VirtualRobot/examples/Jacobi/CMakeLists.txt b/VirtualRobot/examples/Jacobi/CMakeLists.txt
index 4fc5442da350ba2e804af6a8d3c67f994b8c5466..cf10fe37b2688f9e8e82e7a2a82ac11f533f89d0 100644
--- a/VirtualRobot/examples/Jacobi/CMakeLists.txt
+++ b/VirtualRobot/examples/Jacobi/CMakeLists.txt
@@ -4,52 +4,39 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4)
 
 CMAKE_POLICY(VERSION 2.6)
 
+INCLUDE(${Simox_DIR}/CMakeModules/SimoxMacros.cmake)
 
-IF(VirtualRobot_VISUALIZATION AND VirtualRobot_USE_COIN_VISUALIZATION)
-
-    LINK_DIRECTORIES(${VirtualRobot_LIB_DIR})
-    
+IF(Simox_VISUALIZATION AND Simox_USE_COIN_VISUALIZATION)   
 	    
 	# the variable "demo_SRCS" contains all .cpp files of this project
 	FILE(GLOB demo_SRCS ${PROJECT_SOURCE_DIR}/JacobiDemo.cpp ${PROJECT_SOURCE_DIR}/JacobiWindow.cpp)
 	FILE(GLOB demo_INCS ${PROJECT_SOURCE_DIR}/JacobiWindow.h)
 
-  
-    ################################## moc'ing ##############################
-    set(GUI_MOC_HDRS
-        ${PROJECT_SOURCE_DIR}/JacobiWindow.h
-    )
-
-    set(GUI_UIS
-        ${PROJECT_SOURCE_DIR}/Jacobi.ui
-    )
-
-	#MESSAGE("GUI_MOC_HDRS: ${GUI_MOC_HDRS}")
-	#MESSAGE("GUI_UIS: ${GUI_UIS}")
-    qt4_wrap_cpp(demo_SRCS ${GUI_MOC_HDRS})
-    qt4_wrap_ui(UI_HEADER ${GUI_UIS})
-    get_filename_component(UI_HEADER_DIR ${UI_HEADER} PATH)
-	#MESSAGE("UI_HEADER: ${UI_HEADER}")
-    list(APPEND demo_INCS ${UI_HEADER})
-
-    include_directories(${UI_HEADER_DIR})
-
-
-    ADD_EXECUTABLE(${PROJECT_NAME} ${demo_SRCS} ${demo_INCS})
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${VirtualRobot_BIN_DIR})
-
-#MESSAGE("QT_LIBRARIES :" ${QT_LIBRARIES})
-    TARGET_LINK_LIBRARIES(${PROJECT_NAME} VirtualRobot ${VirtualRobot_VISUALIZATION_LIBS})
-    INCLUDE_DIRECTORIES(${VirtualRobot_VISUALIZATION_INCLUDE_PATHS})
-    INCLUDE(${QT_USE_FILE})
-    ADD_DEFINITIONS(${VirtualRobot_VISUALIZATION_COMPILE_FLAGS})
-
-    INSTALL(TARGETS ${PROJECT_NAME}
-        DESTINATION ${VirtualRobot_INSTALL_BIN_DIR}
-	COMPONENT Applications
-	)
-        
-    MESSAGE( STATUS ${PROJECT_NAME} " will be placed into " ${VirtualRobot_BIN_DIR})
-    MESSAGE( STATUS ${PROJECT_NAME} " will be installed into " ${VirtualRobot_INSTALL_BIN_DIR})
+
+  ################################## moc'ing ##############################
+  set(GUI_MOC_HDRS
+      ${PROJECT_SOURCE_DIR}/JacobiWindow.h
+  )
+
+  set(GUI_UIS
+      ${PROJECT_SOURCE_DIR}/Jacobi.ui
+  )
+
+ 	# create the executable
+  VirtualRobotQtApplication(${PROJECT_NAME} "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
+   
+  #######################################################################################
+  ############################ Setup for installation ###################################
+  #######################################################################################
+
+  install(TARGETS ${PROJECT_NAME}
+    # IMPORTANT: Add the library to the "export-set"
+    EXPORT SimoxTargets
+    RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+    COMPONENT dev)
+
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be placed into " ${Simox_BIN_DIR})
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be installed into " ${INSTALL_BIN_DIR})
 ENDIF()
diff --git a/VirtualRobot/examples/ReachabilityMap/CMakeLists.txt b/VirtualRobot/examples/ReachabilityMap/CMakeLists.txt
index 6ede54f3fe729ff86f9f3597e1ab5f7e027c3427..f21e8d4b586709423e97f14754e40522d1d063bd 100644
--- a/VirtualRobot/examples/ReachabilityMap/CMakeLists.txt
+++ b/VirtualRobot/examples/ReachabilityMap/CMakeLists.txt
@@ -4,7 +4,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4)
 
 CMAKE_POLICY(VERSION 2.6)
 
-INCLUDE(${VR_DIR}/CMakeModules/VirtualRobotMacros.cmake)
+INCLUDE(${Simox_DIR}/CMakeModules/SimoxMacros.cmake)
 
 IF(Simox_VISUALIZATION AND Simox_USE_COIN_VISUALIZATION)
      
@@ -12,27 +12,30 @@ IF(Simox_VISUALIZATION AND Simox_USE_COIN_VISUALIZATION)
 	FILE(GLOB demo_SRCS ${PROJECT_SOURCE_DIR}/ReachabilityMapScene.cpp ${PROJECT_SOURCE_DIR}/ReachabilityMapWindow.cpp)
 	FILE(GLOB demo_INCS ${PROJECT_SOURCE_DIR}/ReachabilityMapWindow.h)
 	
-    set(GUI_MOC_HDRS
-        ${PROJECT_SOURCE_DIR}/ReachabilityMapWindow.h
-    )
-    set(GUI_UIS
-        ${PROJECT_SOURCE_DIR}/ReachabilityMap.ui
-    )
+  set(GUI_MOC_HDRS
+      ${PROJECT_SOURCE_DIR}/ReachabilityMapWindow.h
+  )
+  set(GUI_UIS
+      ${PROJECT_SOURCE_DIR}/ReachabilityMap.ui
+  )
+  
+  # create the executable
+  VirtualRobotQtApplication(${PROJECT_NAME} "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
+   
+  #######################################################################################
+  ############################ Setup for installation ###################################
+  #######################################################################################
+   
+  install(TARGETS ${PROJECT_NAME}
+    # IMPORTANT: Add the library to the "export-set"
+    EXPORT SimoxTargets
+    RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+    COMPONENT dev)
+          
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be placed into " ${Simox_BIN_DIR})
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be installed into " ${INSTALL_BIN_DIR})
 
-
-    # create the executable
-    VirtualRobotQtApplication(${PROJECT_NAME} "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
-      
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${VirtualRobot_BIN_DIR})
-    
-     # install
-    INSTALL(TARGETS ${PROJECT_NAME}
-        DESTINATION ${VirtualRobot_INSTALL_BIN_DIR}
-	COMPONENT Applications
-	)
-        
-    MESSAGE( STATUS ${PROJECT_NAME} " will be placed into " ${VirtualRobot_BIN_DIR})
-    MESSAGE( STATUS ${PROJECT_NAME} " will be installed into " ${VirtualRobot_INSTALL_BIN_DIR})
 ENDIF()
 
diff --git a/VirtualRobot/examples/RobotViewer/CMakeLists.txt b/VirtualRobot/examples/RobotViewer/CMakeLists.txt
index 3aaeaed888470f6f4266ea0756933975e8f6719e..a3aad4b73544a3538f8e34e7f99458b6ef114ef2 100644
--- a/VirtualRobot/examples/RobotViewer/CMakeLists.txt
+++ b/VirtualRobot/examples/RobotViewer/CMakeLists.txt
@@ -4,46 +4,40 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4)
 
 CMAKE_POLICY(VERSION 2.6)
 
-IF(VirtualRobot_VISUALIZATION AND VirtualRobot_USE_COIN_VISUALIZATION)
-    
-    LINK_DIRECTORIES(${VirtualRobot_LIB_DIR})
-    
-	    
+INCLUDE(${Simox_DIR}/CMakeModules/SimoxMacros.cmake)
+
+IF(Simox_VISUALIZATION AND Simox_USE_COIN_VISUALIZATION)
+ 	    
 	# the variable "demo_SRCS" contains all .cpp files of this project
 	FILE(GLOB demo_SRCS ${PROJECT_SOURCE_DIR}/RobotViewer.cpp ${PROJECT_SOURCE_DIR}/showRobotWindow.cpp)
 	FILE(GLOB demo_INCS ${PROJECT_SOURCE_DIR}/showRobotWindow.h)
 
-  
-    ################################## moc'ing ##############################
-    set(GUI_MOC_HDRS
-        ${PROJECT_SOURCE_DIR}/showRobotWindow.h
-    )
-
-    set(GUI_UIS
-        ${PROJECT_SOURCE_DIR}/RobotViewer.ui
-    )
-
-    qt4_wrap_cpp(demo_SRCS ${GUI_MOC_HDRS})
-    qt4_wrap_ui(UI_HEADER ${GUI_UIS})
-    get_filename_component(UI_HEADER_DIR ${UI_HEADER} PATH)
-    list(APPEND demo_INCS ${UI_HEADER})
-
-    include_directories(${UI_HEADER_DIR})
-
-    ADD_EXECUTABLE(${PROJECT_NAME} ${demo_SRCS} ${demo_INCS})
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${VirtualRobot_BIN_DIR})
-
-    TARGET_LINK_LIBRARIES(${PROJECT_NAME} VirtualRobot ${VirtualRobot_VISUALIZATION_LIBS})
-    INCLUDE_DIRECTORIES(${VirtualRobot_VISUALIZATION_INCLUDE_PATHS})
-    INCLUDE(${QT_USE_FILE})
-    ADD_DEFINITIONS(${VirtualRobot_VISUALIZATION_COMPILE_FLAGS})
-
-    INSTALL(TARGETS ${PROJECT_NAME}
-        DESTINATION ${VirtualRobot_INSTALL_BIN_DIR}
-	COMPONENT Applications
-	)
-        
-    MESSAGE( STATUS ${PROJECT_NAME} " will be placed into " ${VirtualRobot_BIN_DIR})
-    MESSAGE( STATUS ${PROJECT_NAME} " will be installed into " ${VirtualRobot_INSTALL_BIN_DIR})
+
+  ################################## moc'ing ##############################
+  set(GUI_MOC_HDRS
+      ${PROJECT_SOURCE_DIR}/showRobotWindow.h
+  )
+
+  set(GUI_UIS
+      ${PROJECT_SOURCE_DIR}/RobotViewer.ui
+  )
+
+  # create the executable
+  VirtualRobotQtApplication(${PROJECT_NAME} "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
+   
+  #######################################################################################
+  ############################ Setup for installation ###################################
+  #######################################################################################
+
+  install(TARGETS ${PROJECT_NAME}
+    # IMPORTANT: Add the library to the "export-set"
+    EXPORT SimoxTargets
+    RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+    COMPONENT dev)
+
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be placed into " ${Simox_BIN_DIR})
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be installed into " ${INSTALL_BIN_DIR})
+
 ENDIF()
diff --git a/VirtualRobot/examples/SceneViewer/CMakeLists.txt b/VirtualRobot/examples/SceneViewer/CMakeLists.txt
index 0223295b73f698c9bc2909d7991615997b4b88d6..b888efe1a302e857cdd43c15cecc3795e007948f 100644
--- a/VirtualRobot/examples/SceneViewer/CMakeLists.txt
+++ b/VirtualRobot/examples/SceneViewer/CMakeLists.txt
@@ -4,47 +4,39 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4)
 
 CMAKE_POLICY(VERSION 2.6)
 
-IF(VirtualRobot_VISUALIZATION AND VirtualRobot_USE_COIN_VISUALIZATION)
+INCLUDE(${Simox_DIR}/CMakeModules/SimoxMacros.cmake)
 
-    LINK_DIRECTORIES(${VirtualRobot_LIB_DIR})
-    
+IF(Simox_VISUALIZATION AND Simox_USE_COIN_VISUALIZATION)
 	    
 	# the variable "demo_SRCS" contains all .cpp files of this project
 	FILE(GLOB demo_SRCS ${PROJECT_SOURCE_DIR}/SceneViewer.cpp ${PROJECT_SOURCE_DIR}/showSceneWindow.cpp)
 	FILE(GLOB demo_INCS ${PROJECT_SOURCE_DIR}/showSceneWindow.h)
 
+  ################################## moc'ing ##############################
+  set(GUI_MOC_HDRS
+      ${PROJECT_SOURCE_DIR}/showSceneWindow.h
+  )
+
+  set(GUI_UIS
+      ${PROJECT_SOURCE_DIR}/SceneViewer.ui
+  )
   
-################################## moc'ing ##############################
-    set(GUI_MOC_HDRS
-        ${PROJECT_SOURCE_DIR}/showSceneWindow.h
-    )
-
-    set(GUI_UIS
-        ${PROJECT_SOURCE_DIR}/SceneViewer.ui
-    )
-
-    qt4_wrap_cpp(demo_SRCS ${GUI_MOC_HDRS})
-    qt4_wrap_ui(UI_HEADER ${GUI_UIS})
-    get_filename_component(UI_HEADER_DIR ${UI_HEADER} PATH)
-    list(APPEND demo_INCS ${UI_HEADER})
-
-    include_directories(${UI_HEADER_DIR})
-
-    
-    ADD_EXECUTABLE(${PROJECT_NAME} ${demo_SRCS} ${demo_INCS})
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${VirtualRobot_BIN_DIR})
-
-    TARGET_LINK_LIBRARIES(${PROJECT_NAME} VirtualRobot ${VirtualRobot_VISUALIZATION_LIBS})
-    INCLUDE_DIRECTORIES(${VirtualRobot_VISUALIZATION_INCLUDE_PATHS})
-    INCLUDE(${QT_USE_FILE})
-    ADD_DEFINITIONS(${VirtualRobot_VISUALIZATION_COMPILE_FLAGS})
-
-    INSTALL(TARGETS ${PROJECT_NAME}
-        DESTINATION ${VirtualRobot_INSTALL_BIN_DIR}
-	COMPONENT Applications
-	)
-        
-    MESSAGE( STATUS ${PROJECT_NAME} " will be placed into " ${VirtualRobot_BIN_DIR})
-    MESSAGE( STATUS ${PROJECT_NAME} " will be installed into " ${VirtualRobot_INSTALL_BIN_DIR})
+ 	# create the executable
+  VirtualRobotQtApplication(${PROJECT_NAME} "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
+   
+  #######################################################################################
+  ############################ Setup for installation ###################################
+  #######################################################################################
+
+  install(TARGETS ${PROJECT_NAME}
+    # IMPORTANT: Add the library to the "export-set"
+    EXPORT SimoxTargets
+    RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+    COMPONENT dev)
+
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be placed into " ${Simox_BIN_DIR})
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be installed into " ${INSTALL_BIN_DIR})
+
 ENDIF()
diff --git a/VirtualRobot/examples/loadRobot/CMakeLists.txt b/VirtualRobot/examples/loadRobot/CMakeLists.txt
index 86e4e0f281a706dbc7d9c1e9876db1d99a2ff165..237a7472679a6543e345bc7f6ce2a56767897647 100644
--- a/VirtualRobot/examples/loadRobot/CMakeLists.txt
+++ b/VirtualRobot/examples/loadRobot/CMakeLists.txt
@@ -4,19 +4,22 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4)
 
 CMAKE_POLICY(VERSION 2.6)
 
-LINK_DIRECTORIES(${VirtualRobot_LIB_DIR})
-
 ADD_EXECUTABLE(${PROJECT_NAME} loadRobot.cpp)
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${VirtualRobot_BIN_DIR})
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
 
 TARGET_LINK_LIBRARIES(${PROJECT_NAME} VirtualRobot)
+  
+  
+#######################################################################################
+############################ Setup for installation ###################################
+#######################################################################################
 
-INSTALL(TARGETS ${PROJECT_NAME}
-        DESTINATION ${VirtualRobot_INSTALL_BIN_DIR}
-	COMPONENT Applications
-	)
+install(TARGETS ${PROJECT_NAME}
+  # IMPORTANT: Add the library to the "export-set"
+  EXPORT SimoxTargets
+  RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+  COMPONENT dev)
         
-MESSAGE( STATUS ${PROJECT_NAME} " will be placed into " ${VirtualRobot_BIN_DIR})
-MESSAGE( STATUS ${PROJECT_NAME} " will be installed into " ${VirtualRobot_INSTALL_BIN_DIR})
-
+MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be placed into " ${Simox_BIN_DIR})
+MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be installed into " ${INSTALL_BIN_DIR})
diff --git a/VirtualRobot/examples/reachability/CMakeLists.txt b/VirtualRobot/examples/reachability/CMakeLists.txt
index f21ecf22a236a450964f55d450465809cf97e202..d7d48b9ebb8d77989579180725db0b4a800ab4d3 100644
--- a/VirtualRobot/examples/reachability/CMakeLists.txt
+++ b/VirtualRobot/examples/reachability/CMakeLists.txt
@@ -4,50 +4,40 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4)
 
 CMAKE_POLICY(VERSION 2.6)
 
-IF(VirtualRobot_VISUALIZATION AND VirtualRobot_USE_COIN_VISUALIZATION)
+INCLUDE(${Simox_DIR}/CMakeModules/SimoxMacros.cmake)
 
-    LINK_DIRECTORIES(${VirtualRobot_LIB_DIR})
-    
+IF(Simox_VISUALIZATION AND Simox_USE_COIN_VISUALIZATION)
 	    
 	# the variable "demo_SRCS" contains all .cpp files of this project
 	FILE(GLOB demo_SRCS ${PROJECT_SOURCE_DIR}/reachabilityScene.cpp ${PROJECT_SOURCE_DIR}/reachabilityWindow.cpp)
 	FILE(GLOB demo_INCS ${PROJECT_SOURCE_DIR}/reachabilityWindow.h)
 
+  ################################## moc'ing ##############################
+  set(GUI_MOC_HDRS
+      ${PROJECT_SOURCE_DIR}/reachabilityWindow.h
+  )
+
+  set(GUI_UIS
+      ${PROJECT_SOURCE_DIR}/reachabilityScene.ui 
+      ${PROJECT_SOURCE_DIR}/reachabilityCreate.ui 
+  )
+
+ 	# create the executable
+  VirtualRobotQtApplication(${PROJECT_NAME} "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
+   
+  #######################################################################################
+  ############################ Setup for installation ###################################
+  #######################################################################################
+
+  install(TARGETS ${PROJECT_NAME}
+    # IMPORTANT: Add the library to the "export-set"
+    EXPORT SimoxTargets
+    RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+    COMPONENT dev)
+
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be placed into " ${Simox_BIN_DIR})
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be installed into " ${INSTALL_BIN_DIR})
   
-################################## moc'ing ##############################
-    set(GUI_MOC_HDRS
-        ${PROJECT_SOURCE_DIR}/reachabilityWindow.h
-    )
-
-    set(GUI_UI1
-        ${PROJECT_SOURCE_DIR}/reachabilityScene.ui 
-    )
-    set(GUI_UI2
-        ${PROJECT_SOURCE_DIR}/reachabilityCreate.ui 
-    )
-
-    qt4_wrap_cpp(demo_SRCS ${GUI_MOC_HDRS})
-    qt4_wrap_ui(UI_HEADER1 ${GUI_UI1})
-	qt4_wrap_ui(UI_HEADER2 ${GUI_UI2})
-    get_filename_component(UI_HEADER_DIR1 ${UI_HEADER1} PATH)
-    list(APPEND demo_INCS ${UI_HEADER1} ${UI_HEADER2})
-
-    include_directories(${UI_HEADER_DIR1})
-
-    ADD_EXECUTABLE(${PROJECT_NAME} ${demo_SRCS} ${demo_INCS})
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${VirtualRobot_BIN_DIR})
-
-    TARGET_LINK_LIBRARIES(${PROJECT_NAME} VirtualRobot ${VirtualRobot_VISUALIZATION_LIBS})
-    INCLUDE_DIRECTORIES(${VirtualRobot_VISUALIZATION_INCLUDE_PATHS})
-    INCLUDE(${QT_USE_FILE})
-    ADD_DEFINITIONS(${VirtualRobot_VISUALIZATION_COMPILE_FLAGS})
-
-    INSTALL(TARGETS ${PROJECT_NAME}
-        DESTINATION ${VirtualRobot_INSTALL_BIN_DIR}
-	COMPONENT Applications
-	)
-        
-    MESSAGE( STATUS ${PROJECT_NAME} " will be placed into " ${VirtualRobot_BIN_DIR})
-    MESSAGE( STATUS ${PROJECT_NAME} " will be installed into " ${VirtualRobot_INSTALL_BIN_DIR})
 ENDIF()
diff --git a/VirtualRobot/examples/stability/CMakeLists.txt b/VirtualRobot/examples/stability/CMakeLists.txt
index 7ab0831762a1b315529886dd6a2ec6554f90ba91..2bf9c80efd32ae5ea4e30bf7653d4530d9022176 100644
--- a/VirtualRobot/examples/stability/CMakeLists.txt
+++ b/VirtualRobot/examples/stability/CMakeLists.txt
@@ -4,48 +4,40 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4)
 
 CMAKE_POLICY(VERSION 2.6)
 
-IF(VirtualRobot_VISUALIZATION AND VirtualRobot_USE_COIN_VISUALIZATION)
+INCLUDE(${Simox_DIR}/CMakeModules/SimoxMacros.cmake)
 
-    LINK_DIRECTORIES(${VirtualRobot_LIB_DIR})
-    
+IF(Simox_VISUALIZATION AND Simox_USE_COIN_VISUALIZATION)
 	    
 	# the variable "demo_SRCS" contains all .cpp files of this project
 	FILE(GLOB demo_SRCS ${PROJECT_SOURCE_DIR}/stabilityDemo.cpp ${PROJECT_SOURCE_DIR}/stabilityWindow.cpp)
 	FILE(GLOB demo_INCS ${PROJECT_SOURCE_DIR}/stabilityWindow.h)
 
+
+  ################################## moc'ing ##############################
+  set(GUI_MOC_HDRS
+      ${PROJECT_SOURCE_DIR}/stabilityWindow.h
+  )
+
+  set(GUI_UIS
+      ${PROJECT_SOURCE_DIR}/stabilityScene.ui 
+  )
   
-    ################################## moc'ing ##############################
-    set(GUI_MOC_HDRS
-        ${PROJECT_SOURCE_DIR}/stabilityWindow.h
-    )
-
-    set(GUI_UI1
-        ${PROJECT_SOURCE_DIR}/stabilityScene.ui 
-    )
-    
-
-    qt4_wrap_cpp(demo_SRCS ${GUI_MOC_HDRS})
-    qt4_wrap_ui(UI_HEADER1 ${GUI_UI1})
-    get_filename_component(UI_HEADER_DIR1 ${UI_HEADER1} PATH)
-    list(APPEND demo_INCS ${UI_HEADER1})
-
-    include_directories(${UI_HEADER_DIR1})
-
-    
-    ADD_EXECUTABLE(${PROJECT_NAME} ${demo_SRCS} ${demo_INCS})
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${VirtualRobot_BIN_DIR})
-
-    TARGET_LINK_LIBRARIES(${PROJECT_NAME} VirtualRobot ${VirtualRobot_VISUALIZATION_LIBS})
-    INCLUDE_DIRECTORIES(${VirtualRobot_VISUALIZATION_INCLUDE_PATHS})
-    INCLUDE(${QT_USE_FILE})
-    ADD_DEFINITIONS(${VirtualRobot_VISUALIZATION_COMPILE_FLAGS})
-
-    INSTALL(TARGETS ${PROJECT_NAME}
-        DESTINATION ${VirtualRobot_INSTALL_BIN_DIR}
-	COMPONENT Applications
-	)
-        
-    MESSAGE( STATUS ${PROJECT_NAME} " will be placed into " ${VirtualRobot_BIN_DIR})
-    MESSAGE( STATUS ${PROJECT_NAME} " will be installed into " ${VirtualRobot_INSTALL_BIN_DIR})
+ 	# create the executable
+  VirtualRobotQtApplication(${PROJECT_NAME} "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
+   
+  #######################################################################################
+  ############################ Setup for installation ###################################
+  #######################################################################################
+
+  install(TARGETS ${PROJECT_NAME}
+    # IMPORTANT: Add the library to the "export-set"
+    EXPORT SimoxTargets
+    RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+    COMPONENT dev)
+
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be placed into " ${Simox_BIN_DIR})
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be installed into " ${INSTALL_BIN_DIR})
+
 ENDIF()
diff --git a/config.cmake b/config.cmake
index 972b1f62792a680eee9fa1074541a69a5010f0ca..ee88f0ef34db98a40599b7958651e007484687fd 100644
--- a/config.cmake
+++ b/config.cmake
@@ -4,61 +4,328 @@ IF (NOT Simox_CONFIGURED)
 	# defines Simox_CONFIGURED variable which indicates that this config file has already been included
 	SET(Simox_CONFIGURED TRUE)
 
-	# Set up for debug build
+	# Set up build type
 	IF(NOT CMAKE_BUILD_TYPE)
 	  SET(CMAKE_BUILD_TYPE Debug CACHE STRING
 	      "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
 	      FORCE)
 	ENDIF(NOT CMAKE_BUILD_TYPE)
 
+	GET_FILENAME_COMPONENT (CurrentSimoxPath ${CMAKE_CURRENT_LIST_FILE} PATH)
+  MESSAGE (STATUS "** Simox_DIR: ${CurrentSimoxPath}")
+  SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CurrentSimoxPath}/CMakeModules)
+  SET(Simox_BUILD_DIRECTORY ${CMAKE_BINARY_DIR})
+  SET(Simox_DIR ${CurrentSimoxPath})
+	
+	# Offer the user the choice of overriding the installation directories
+  set(INSTALL_LIB_DIR lib CACHE PATH "Installation directory for libraries")
+  set(INSTALL_BIN_DIR bin CACHE PATH "Installation directory for executables")
+  set(INSTALL_INCLUDE_DIR include CACHE PATH
+    "Installation directory for header files")
+  if(WIN32 AND NOT CYGWIN)
+    set(DEF_INSTALL_CMAKE_DIR CMake)
+  else()
+    set(DEF_INSTALL_CMAKE_DIR lib/CMake/MMMTools)
+  endif()
+  set(INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH
+    "Installation directory for CMake files")
+ 
+  # Make relative paths absolute (needed later on)
+  foreach(p LIB BIN INCLUDE CMAKE)
+    set(var INSTALL_${p}_DIR)
+    if(NOT IS_ABSOLUTE "${${var}}")
+      set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}")
+    endif()
+  endforeach()
+ 
+  # set up include-directories
+  include_directories(
+    "${PROJECT_SOURCE_DIR}"   # to find headers
+    "${PROJECT_BINARY_DIR}")  # to find config headers
+	
 	############################# VERSION #################################
 	set(Simox_MAJOR_VERSION 2)
-	set(Simox_MINOR_VERSION 2)
-	set(Simox_PATCH_VERSION 2)
+	set(Simox_MINOR_VERSION 3)
+	set(Simox_PATCH_VERSION 0)
 	set(Simox_VERSION
     ${Simox_MAJOR_VERSION}.${Simox_MINOR_VERSION}.${Simox_PATCH_VERSION})
 
-	MESSAGE (STATUS " ** Simox version: ${Simox_VERSION}")
+	MESSAGE (STATUS "** Simox version: ${Simox_VERSION}")
 
 	############################# SETUP PATHS #############################
 	SET(Simox_BUILD_DIRECTORY ${CMAKE_BINARY_DIR})
 	SET(BIN_DIR bin)
 	SET(LIB_DIR lib)
+	SET(DATA_DIR data)
 
 	SET(Simox_LIB_DIR ${Simox_BUILD_DIRECTORY}/${LIB_DIR})
 	SET(Simox_BIN_DIR ${Simox_BUILD_DIRECTORY}/${BIN_DIR})
+	SET(Simox_DATA_DIR ${CurrentSimoxPath}/VirtualRobot/data)
 
 	MESSAGE (STATUS "** SIMOX LIB DIR: ${Simox_LIB_DIR}")
 	MESSAGE (STATUS "** SIMOX BIN DIR: ${Simox_BIN_DIR}")
+	MESSAGE (STATUS "** SIMOX DATA DIR: ${Simox_DATA_DIR}")
 
-	SET(Simox_INSTALL_LIB_DIR ${CMAKE_INSTALL_PREFIX}/${LIB_DIR})
-	SET(Simox_INSTALL_BIN_DIR ${CMAKE_INSTALL_PREFIX}/${BIN_DIR})
-	SET(Simox_INSTALL_HEADER_DIR ${CMAKE_INSTALL_PREFIX}/include)
+	SET(Simox_INSTALL_DIR ${CMAKE_INSTALL_PREFIX})
+	SET(Simox_INSTALL_LIB_DIR ${Simox_INSTALL_DIR}/${LIB_DIR})
+	SET(Simox_INSTALL_BIN_DIR ${Simox_INSTALL_DIR}/${BIN_DIR})
+	SET(Simox_INSTALL_DATA_DIR ${Simox_INSTALL_DIR}/${DATA_DIR})
+	SET(Simox_INSTALL_HEADER_DIR ${Simox_INSTALL_DIR}/include)
+	MESSAGE (STATUS "** SIMOX INSTALL LIB DIR: ${Simox_INSTALL_LIB_DIR}")
+	MESSAGE (STATUS "** SIMOX INSTALL BIN DIR: ${Simox_INSTALL_BIN_DIR}")
+	MESSAGE (STATUS "** SIMOX INSTALL DATA DIR: ${Simox_INSTALL_DATA_DIR}")
+	MESSAGE (STATUS "** SIMOX INSTALL HEADER DIR: ${Simox_INSTALL_HEADER_DIR}")
 
+  ADD_DEFINITIONS("-DVirtualRobot_SRC_DATA_PATH=\"${Simox_DATA_DIR}\"")
+  ADD_DEFINITIONS("-DSimox_DATA_PATH=\"${Simox_INSTALL_DATA_DIR}\"")
+	
+	########################### IDE settings ################################
+	
+	# use virtual folders for grouping projects in IDEs 
+	set_property(GLOBAL PROPERTY USE_FOLDERS ON)
 
-	## set library settings
 
-	    ## SETUP VIRTUAL ROBOT
-    	SET(VirtualRobot_BUILD_DIRECTORY ${Simox_BUILD_DIRECTORY})
-    	SET(VirtualRobot_INSTALL_LIB_DIR ${Simox_INSTALL_LIB_DIR})
-        SET(VirtualRobot_INSTALL_BIN_DIR ${Simox_INSTALL_BIN_DIR})
-        SET(VirtualRobot_INSTALL_HEADER_DIR ${Simox_INSTALL_HEADER_DIR})
-        #MESSAGE ("CMAKE_CURRENT_LIST_DIR:${CMAKE_CURRENT_LIST_DIR}")
-        include (VirtualRobot/config.cmake)
-        # set SIMOX vars according to VirtualRobot config
-       	SET(Simox_VISUALIZATION ${VirtualRobot_VISUALIZATION})
-		SET(Simox_USE_COIN_VISUALIZATION ${VirtualRobot_USE_COIN_VISUALIZATION})
-        SET(Simox_USE_OPENSCENEGRAPH_VISUALIZATION ${VirtualRobot_USE_OPENSCENEGRAPH_VISUALIZATION})
-        SET(Simox_USE_COLLADA ${VirtualRobot_USE_COLLADA})
-		SET(Simox_VISUALIZATION_LIBS ${VirtualRobot_VISUALIZATION_LIBS})
-		SET(Simox_VISUALIZATION_INCLUDE_PATHS ${VirtualRobot_VISUALIZATION_INCLUDE_PATHS})
-		SET(Simox_VISUALIZATION_COMPILE_FLAGS ${VirtualRobot_VISUALIZATION_COMPILE_FLAGS})
+  ############################# Set OS specific options #############################
+  IF(UNIX)
+  	# We are on Linux
+  	SET(Simox_TEST_DIR ${Simox_BIN_DIR}/tests)
+  	IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
+  	ADD_DEFINITIONS(-fPIC)
+  ENDIF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
+  
+  IF(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
+  	MESSAGE(STATUS "Configuring Debug build")
+  	ADD_DEFINITIONS(-D_DEBUG) # -Wall -W -Werror -pedantic)
+  ELSE()
+  	MESSAGE(STATUS "Configuring Release build")
+  ENDIF()
+  
+  # use, i.e. don't skip the full RPATH for the build tree
+  SET(CMAKE_SKIP_BUILD_RPATH  FALSE)
+  
+  # when building, don't use the install RPATH already
+  # (but later on when installing)
+  SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) 
+  
+  SET(CMAKE_INSTALL_RPATH "${Simox_INSTALL_LIB_DIR}")
+  
+  # add the automatically determined parts of the RPATH
+  # which point to directories outside the build tree to the install RPATH
+  SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+  
+  # the RPATH to be used when installing, but only if it's not a system directory
+  LIST(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${Simox_INSTALL_LIB_DIR}" isSystemDir)
+  IF("${isSystemDir}" STREQUAL "-1")
+     SET(CMAKE_INSTALL_RPATH "${Simox_INSTALL_LIB_DIR}")
+  ENDIF("${isSystemDir}" STREQUAL "-1")
+  
+  
+  ELSE(UNIX)
+  	# We are on Windows
+  	SET(Simox_TEST_DIR ${Simox_BIN_DIR})
+  	ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS)
+  
+    # On MSVC we compile with /MP flag (use multiple threads)
+    IF(MSVC)
+    	ADD_DEFINITIONS(/MP)
+    ENDIF(MSVC)
+  ENDIF(UNIX)
 
-        ## SETUP SABA
-        # nothing to do yet
+    
+  #######################################################################
+  # Setup for testing
+  #######################################################################
+  ENABLE_TESTING()
+  INCLUDE(CTest)
+  
+  MESSAGE(STATUS "** Test output directory: ${Simox_TEST_DIR}")
+  
+  ADD_DEFINITIONS(-DSimox_TEST_DIR=\"${Simox_TEST_DIR}/\")
+  
+  #######################################################################
+  # Setup dependencies
+  #######################################################################
+ 
+  
+  SET (Simox_EXTERNAL_INCLUDE_DIRS "")
+  SET (Simox_EXTERNAL_LIBRARIES "")
+  SET (Simox_EXTERNAL_LIBRARY_DIRS "")
+  SET (Simox_EXTERNAL_LIBRARY_FLAGS "")
+  SET (Simox_EXTERNAL_LIBRARY_CMAKE_INCLUDE "")
+	
+	############################# SETUP MODULES #############################
+	MESSAGE (STATUS "** Module path: "  ${CMAKE_MODULE_PATH})
+	
+	#### Eigen
+	FIND_PACKAGE (Eigen3 REQUIRED)
+	if (Eigen3_FOUND)
+	    SET (Simox_EXTERNAL_INCLUDE_DIRS ${Simox_EXTERNAL_INCLUDE_DIRS} ${Eigen3_INCLUDE_DIR})
+	endif (Eigen3_FOUND)
+	
+	#### BOOST
+	FIND_PACKAGE(Boost 1.42.0 COMPONENTS filesystem system unit_test_framework program_options thread REQUIRED)
+	if (Boost_FOUND)
+	    MESSAGE (STATUS "Boost found at: ${Boost_INCLUDE_DIR}")
+	    SET (Simox_EXTERNAL_INCLUDE_DIRS ${Simox_EXTERNAL_INCLUDE_DIRS} ${Boost_INCLUDE_DIR})
+        SET (Simox_EXTERNAL_LIBRARY_DIRS ${Simox_EXTERNAL_LIBRARY_DIRS} ${Boost_LIBRARY_DIRS})
+        SET (Simox_EXTERNAL_LIBRARIES ${Simox_EXTERNAL_LIBRARIES} ${Boost_LIBRARIES})
+	    # disable boost auto linking
+        SET (Simox_EXTERNAL_LIBRARY_FLAGS "${Simox_EXTERNAL_LIBRARY_FLAGS} -DBOOST_ALL_NO_LIB -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_UNIT_TEST_FRAMEWORK_DYN_LINK -DBOOST_THREAD_DYN_LINK")
+    else (Boost_FOUND)
+	    MESSAGE ("!! Could not find Boost !!")
+	endif (Boost_FOUND)
+	
+	#### QT 
+	# QT_QMAKE_EXECUTABLE is the only relieable way of setting the qt4 path!
+	# convert env var to cmake define	
+	IF(NOT "$ENV{QT_QMAKE_EXECUTABLE}" STREQUAL "")
+	    MESSAGE (STATUS "USING QT-PATH from environment variable QT_QMAKE_EXECUTABLE: $ENV{QT_QMAKE_EXECUTABLE}")
+	    file(TO_CMAKE_PATH "$ENV{QT_QMAKE_EXECUTABLE}" QT_QMAKE_EXECUTABLE)
+	ENDIF()
+	FIND_PACKAGE(Qt4 4.6.0 COMPONENTS QtOpenGL QtCore QtGui)
 
-        ## SETUP GRASP STUDIO
-        # nothing to do yet
+	#### VISUALIZATION Coin3D+Qt+SoQt / OSG+Qt
+	##########################################
+	SET (Simox_VISUALIZATION FALSE)
+	SET (Simox_VISUALIZATION_LIBS "")
+	SET (Simox_VISUALIZATION_INCLUDE_PATHS "")
+	SET (Simox_VISUALIZATION_COMPILE_FLAGS "")
+	
+	OPTION(Simox_USE_COIN_VISUALIZATION "Use Coin3D for visualization" ON)
+	OPTION(Simox_USE_OPENSCENEGRAPH_VISUALIZATION "Use OpenSceneGraph for visualization" OFF)
+	OPTION(Simox_USE_COLLADA "Enable the loading of robots from collada files" OFF)
+	
+	if (Simox_USE_COIN_VISUALIZATION)
+	  MESSAGE(STATUS "Searching Coin3D, Qt and SoQt...")
+	    
+	  ##### Coin3D
+		FIND_PACKAGE(Coin3D REQUIRED)
+		if (COIN3D_FOUND)
+		    MESSAGE (STATUS "Found Coin3D: " ${COIN3D_INCLUDE_DIRS})
+			##INCLUDE_DIRECTORIES(${COIN3D_INCLUDE_DIRS})
+			##ADD_DEFINITIONS(-DCOIN_DLL)
+		endif (COIN3D_FOUND)
+		
 
+		if ( QT_FOUND )
+			MESSAGE (STATUS "Found Qt4: " ${QT_INCLUDE_DIR})
+			MESSAGE (STATUS "QT_USE_FILE: " ${QT_USE_FILE})
+			list(APPEND Simox_EXTERNAL_CMAKE_INCLUDE ${QT_USE_FILE})
+			include(${QT_USE_FILE})
+			SET (Simox_EXTERNAL_LIBRARY_CMAKE_INCLUDE ${Simox_EXTERNAL_LIBRARY_CMAKE_INCLUDE} ${QT_USE_FILE})
+			SET (Simox_EXTERNAL_LIBRARY_DIRS ${Simox_EXTERNAL_LIBRARY_DIRS} ${QT_LIBRARY_DIR})
+			SET (Simox_EXTERNAL_LIBRARIES ${Simox_EXTERNAL_LIBRARIES} ${QT_LIBRARIES})
+
+			#MESSAGE(STATUS "QT_LIBRARIES: " ${QT_LIBRARIES})
+	
+			#### SoQt
+			# This will set SoQt_INCLUDE_DIRS and SoQt_LIBRARIES
+			FIND_PACKAGE(SoQt)
+			if (SOQT_FOUND)
+				MESSAGE (STATUS "Found SoQt:" ${SoQt_INCLUDE_DIRS})
+				##ADD_DEFINITIONS(-DSOQT_DLL)
+			else (SOQT_FOUND)
+				MESSAGE (STATUS "Did not found SoQt. Disabling SoQt support.")
+			endif (SOQT_FOUND)
+		else ( QT_FOUND )
+			MESSAGE (STATUS "Did not found Qt. Disabling Qt/SoQt support.")
+		endif ( QT_FOUND )
+		
+		if (QT_FOUND AND SOQT_FOUND AND COIN3D_FOUND)
+		  MESSAGE (STATUS "Enabling Coin3D/Qt/SoQt support")
+		  MESSAGE (STATUS "By using the Coin3D library, the license of Simox is GPL, since Coin3D is a GPL library. If you want to use Simox under LGPL you must disable Coin3D support!") 
+			SET (Simox_VISUALIZATION TRUE)
+      SET (Simox_VISUALIZATION_LIBS ${QT_LIBRARIES} ${COIN3D_LIBRARIES} ${SoQt_LIBRARIES} )
+      SET (Simox_VISUALIZATION_INCLUDE_PATHS ${QT_INCLUDE_DIR} ${SoQt_INCLUDE_DIRS} ${COIN3D_INCLUDE_DIRS} )
+      SET (Simox_VISUALIZATION_COMPILE_FLAGS " -DCOIN_DLL -DSOQT_DLL ")
+		endif()
+		
+	elseif (Simox_USE_OPENSCENEGRAPH_VISUALIZATION)
+	
+	  MESSAGE(STATUS "Searching OSG and Qt...")
+	    
+	  FIND_PACKAGE(OpenSceneGraph REQUIRED osgViewer osgUtil osgDB osgGA)
+		
+		if (OPENSCENEGRAPH_FOUND)
+		  MESSAGE (STATUS "Found OpenSceneGraph:" ${OPENSCENEGRAPH_INCLUDE_DIRS})
+			##INCLUDE_DIRECTORIES(${OPENSCENEGRAPH_INCLUDE_DIRS})
+		endif (OPENSCENEGRAPH_FOUND)
+		
+		if ( QT_FOUND )
+			MESSAGE (STATUS "Found Qt4: " ${QT_INCLUDE_DIR})
+			list(APPEND Simox_EXTERNAL_CMAKE_INCLUDE ${QT_USE_FILE})
+			include(${QT_USE_FILE})
+			#MESSAGE(STATUS "QT_LIBRARIES: " ${QT_LIBRARIES})
+		else ( QT_FOUND )
+			MESSAGE (STATUS "Did not found Qt. Disabling Qt/OSG support.")
+		endif ( QT_FOUND )
+		
+		if (QT_FOUND AND OPENSCENEGRAPH_FOUND)
+	    MESSAGE (STATUS "Enabling OSG/Qt support")
+	    ### a little hack is needed here since osgQt is not supported in the FindOSG script
+	    MESSAGE("OPENSCENEGRAPH_LIBRARIES: ${OPENSCENEGRAPH_LIBRARIES}")
+	    LIST(GET OPENSCENEGRAPH_LIBRARIES 1 firstOsgLib)
+	    MESSAGE("firstOsgLib: ${firstOsgLib}")
+	    GET_FILENAME_COMPONENT(osgLibPath ${firstOsgLib} PATH)
+	    MESSAGE("osgLibPath: ${osgLibPath}")
+	    if (UNIX)
+		    list(APPEND OPENSCENEGRAPH_LIBRARIES ${osgLibPath}/libosgQt.so)
+	    else()
+		    list(APPEND OPENSCENEGRAPH_LIBRARIES optimized)
+		    list(APPEND OPENSCENEGRAPH_LIBRARIES ${osgLibPath}/osgQt.lib)
+	    	list(APPEND OPENSCENEGRAPH_LIBRARIES debug)
+	    	list(APPEND OPENSCENEGRAPH_LIBRARIES ${osgLibPath}/osgQtd.lib)
+	    endif()
+	    MESSAGE("OPENSCENEGRAPH_LIBRARIES: ${OPENSCENEGRAPH_LIBRARIES}")
+		  SET (Simox_VISUALIZATION TRUE)
+    	SET (Simox_VISUALIZATION_LIBS ${QT_LIBRARIES} ${OPENSCENEGRAPH_LIBRARIES} )
+    	SET (Simox_VISUALIZATION_INCLUDE_PATHS ${OPENSCENEGRAPH_INCLUDE_DIRS} )
+    	SET (Simox_VISUALIZATION_COMPILE_FLAGS "")
+		endif()
+		
+	else()
+	    MESSAGE(STATUS "Visualization disabled")
+	endif()
+	
+	if (Simox_USE_COLLADA)
+	    MESSAGE(STATUS "Searching for Collada...")
+
+    	FIND_PACKAGE(COLLADA_DOM REQUIRED 2.4)
+
+    	IF(COLLADA_DOM_FOUND)
+        	MESSAGE (STATUS "Found Collada")
+        	MESSAGE (STATUS "* Collada COLLADA_DOM_ROOT_DIR : ${COLLADA_DOM_ROOT_DIR}")
+	        MESSAGE (STATUS "* Collada Include DIRS: ${COLLADA_DOM_INCLUDE_DIRS}")
+	        MESSAGE (STATUS "* Collada Libs: ${COLLADA_DOM_LIBRARIES}")
+	        MESSAGE (STATUS "* Collada COLLADA_DOM_LIBRARY_DIRS: ${COLLADA_DOM_LIBRARY_DIRS}")
+
+	        FIND_LIBRARY(COLLADA_LIBRARY ${COLLADA_DOM_LIBRARIES} ${COLLADA_DOM_LIBRARY_DIRS})
+	        MESSAGE (STATUS "Collada Full Collada lib: ${COLLADA_LIBRARY}")
+
+	        #include_directories(${COLLADA_DOM_INCLUDE_DIRS})
+
+	        SET (Simox_EXTERNAL_INCLUDE_DIRS ${Simox_EXTERNAL_INCLUDE_DIRS} ${COLLADA_DOM_INCLUDE_DIRS})
+			    SET (Simox_EXTERNAL_LIBRARIES ${Simox_EXTERNAL_LIBRARIES} ${COLLADA_LIBRARY})
+	    ENDIF()
+	endif()
+	
+  SET (Simox_EXTERNAL_INCLUDE_DIRS ${Simox_EXTERNAL_INCLUDE_DIRS} ${Simox_VISUALIZATION_INCLUDE_PATHS})
+  SET (Simox_EXTERNAL_LIBRARIES ${Simox_EXTERNAL_LIBRARIES} ${Simox_VISUALIZATION_LIBS})
+  SET (Simox_EXTERNAL_LIBRARY_FLAGS "${Simox_EXTERNAL_LIBRARY_FLAGS} ${Simox_VISUALIZATION_COMPILE_FLAGS}")
+  MESSAGE(STATUS "** Simox_EXTERNAL_INCLUDE_DIRS:${Simox_EXTERNAL_INCLUDE_DIRS}")
+  MESSAGE(STATUS "** Simox_EXTERNAL_LIBRARY_DIRS:${Simox_EXTERNAL_LIBRARY_DIRS}")
+  MESSAGE(STATUS "** Simox_EXTERNAL_LIBRARIES:${Simox_EXTERNAL_LIBRARIES}")
+  MESSAGE(STATUS "** Simox_EXTERNAL_LIBRARY_FLAGS:${Simox_EXTERNAL_LIBRARY_FLAGS}")
+  MESSAGE(STATUS "** Simox_EXTERNAL_CMAKE_INCLUDE:${Simox_EXTERNAL_CMAKE_INCLUDE}")
+
+  ## for historical reasons: set VirtualRobot flags to Simox flags
+  SET (VirtualRobot_VISUALIZATION ${Simox_VISUALIZATION})
+	SET (VirtualRobot_VISUALIZATION_LIBS ${Simox_VISUALIZATION_LIBS})
+	SET (VirtualRobot_VISUALIZATION_INCLUDE_PATHS ${Simox_VISUALIZATION_INCLUDE_PATHS})
+	SET (VirtualRobot_VISUALIZATION_COMPILE_FLAGS ${Simox_VISUALIZATION_COMPILE_FLAGS})
+
+  
+  INCLUDE_DIRECTORIES(${Simox_EXTERNAL_INCLUDE_DIRS})
+  ADD_DEFINITIONS( ${Simox_EXTERNAL_LIBRARY_FLAGS} )
 
 ENDIF(NOT Simox_CONFIGURED)
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index 160183c71d932cb7f5d15ac5b98a934cb242769e..9462feac8e0a32a16349a2ea8412b995105d848e 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -5,7 +5,7 @@
 find_package(Doxygen)
 
 IF(DOXYGEN_FOUND)
-    MESSAGE (STATUS "\n **** Setting up doxygen documetation")
+    MESSAGE (STATUS "** Setting up doxygen documetation")
     # set all paths
     SET (CMAKE_DOXYGEN_INPUT_LIST "${CMAKE_CURRENT_SOURCE_DIR}/.."
                          "${CMAKE_CURRENT_SOURCE_DIR}/../GraspPlanning"