diff --git a/CMakeLists.txt b/CMakeLists.txt
index a0bd5d6172fd423be9642dbb739568dafaf6134c..b113c989e0f693a728f9f12a0d3c1fe1ea94c566 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -122,6 +122,7 @@ set(${PROJECT_NAME}_SOURCES
     src/path-optimization/random-shortcut.cc
     src/path-optimization/enforce-transition-semantic.cc
     src/path-planner/end-effector-trajectory.cc
+    src/path-planner/states-path-finder.cc
     src/problem-target/state.cc
     src/serialization.cc
     src/steering-method/end-effector-trajectory.cc
diff --git a/include/hpp/manipulation/fwd.hh b/include/hpp/manipulation/fwd.hh
index ad9e0227fa758f4e26f99b80b3aae78e20626b4c..ad46e668292317eaa730ef3a8b1b112ee7c76760 100644
--- a/include/hpp/manipulation/fwd.hh
+++ b/include/hpp/manipulation/fwd.hh
@@ -96,6 +96,8 @@ typedef core::vectorOut_t vectorOut_t;
 HPP_PREDEF_CLASS(ManipulationPlanner);
 typedef shared_ptr<ManipulationPlanner> ManipulationPlannerPtr_t;
 namespace pathPlanner {
+  HPP_PREDEF_CLASS(EndEffectorTrajectory);
+  typedef shared_ptr<EndEffectorTrajectory> EndEffectorTrajectoryPtr_t;
   HPP_PREDEF_CLASS (StatesPathFinder);
   typedef shared_ptr < StatesPathFinder > StatesPathFinderPtr_t;
   HPP_PREDEF_CLASS (InStatePath);
@@ -107,6 +109,10 @@ HPP_PREDEF_CLASS(GraphPathValidation);
 typedef shared_ptr<GraphPathValidation> GraphPathValidationPtr_t;
 HPP_PREDEF_CLASS(SteeringMethod);
 typedef shared_ptr<SteeringMethod> SteeringMethodPtr_t;
+namespace steeringMethod{
+  HPP_PREDEF_CLASS(EndEffectorTrajectory);
+  typedef shared_ptr<EndEffectorTrajectory> EndEffectorTrajectoryPtr_t;
+}
 typedef core::PathOptimizer PathOptimizer;
 typedef core::PathOptimizerPtr_t PathOptimizerPtr_t;
 HPP_PREDEF_CLASS(GraphOptimizer);