diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5182f89f6dad10bd7dcab0b09f269e5cb39c37d3..eadc9066acb4c8463c5b46e49fe1f24000b29e5e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -33,7 +33,7 @@ IF(BUILD_PYTHON_INTERFACE)
   ADD_REQUIRED_DEPENDENCY("pinocchio >= 2.1.0")
   FINDPYTHON()
   STRING(REGEX REPLACE "-" "_" PY_NAME ${PROJECT_NAME})
-  ADD_SUBDIRECTORY(${PY_NAME})
+  ADD_SUBDIRECTORY(python)
   ADD_SUBDIRECTORY(unittest)
 ENDIF(BUILD_PYTHON_INTERFACE)
 
diff --git a/example_robot_data/CMakeLists.txt b/python/CMakeLists.txt
similarity index 65%
rename from example_robot_data/CMakeLists.txt
rename to python/CMakeLists.txt
index 224966f348610bd0b0b07eea2697362cebab5e9c..998d2c43c06eee5141e5470f63913b7a8b92183e 100644
--- a/example_robot_data/CMakeLists.txt
+++ b/python/CMakeLists.txt
@@ -5,6 +5,5 @@ SET(${PROJECT_NAME}_PYTHON_FILES
   )
 
 FOREACH(python ${${PROJECT_NAME}_PYTHON_FILES})
-  PYTHON_BUILD(. ${python})
-  INSTALL(FILES ${python} DESTINATION ${PYTHON_SITELIB}/${PY_NAME})
+  PYTHON_INSTALL_ON_SITE(${PY_NAME} ${python})
 ENDFOREACH(python ${${PROJECT_NAME}_PYTHON_FILES})
diff --git a/example_robot_data/__init__.py b/python/example_robot_data/__init__.py
similarity index 100%
rename from example_robot_data/__init__.py
rename to python/example_robot_data/__init__.py
diff --git a/example_robot_data/__main__.py b/python/example_robot_data/__main__.py
similarity index 100%
rename from example_robot_data/__main__.py
rename to python/example_robot_data/__main__.py
diff --git a/example_robot_data/robots_loader.py b/python/example_robot_data/robots_loader.py
similarity index 98%
rename from example_robot_data/robots_loader.py
rename to python/example_robot_data/robots_loader.py
index 25c97618176cb3c0ff338240fc0d665d5aa9ece7..506ef54ececf0fc01210bdf60cf104b8f0a60b1e 100644
--- a/example_robot_data/robots_loader.py
+++ b/python/example_robot_data/robots_loader.py
@@ -2,7 +2,6 @@ import sys
 from os.path import dirname, exists, join
 
 import numpy as np
-
 import pinocchio
 from pinocchio.robot_wrapper import RobotWrapper
 
@@ -15,7 +14,7 @@ def getModelPath(subpath, printmsg=False):
             if printmsg:
                 print("using %s as modelPath" % path)
             return path
-    for path in (dirname(dirname(dirname(__file__))), dirname(dirname(__file__))):
+    for path in (dirname(dirname(dirname(dirname(__file__)))), dirname(dirname(dirname(__file__)))):
         if exists(join(path, subpath.strip('/'))):
             if printmsg:
                 print("using %s as modelPath" % path)
diff --git a/unittest/CMakeLists.txt b/unittest/CMakeLists.txt
index b67ebf918743cb403e79febf3478fad52ff11939..db6ef14631016badedf353a9e1258b961acea70d 100644
--- a/unittest/CMakeLists.txt
+++ b/unittest/CMakeLists.txt
@@ -3,5 +3,5 @@ SET(${PROJECT_NAME}_PYTHON_TESTS
   )
 
 FOREACH(TEST ${${PROJECT_NAME}_PYTHON_TESTS})
-  ADD_PYTHON_UNIT_TEST("py-${TEST}" "unittest/test_${TEST}.py" .)
+  ADD_PYTHON_UNIT_TEST("py-${TEST}" "unittest/test_${TEST}.py" python)
 ENDFOREACH(TEST ${${PROJECT_NAME}_PYTHON_TESTS})