diff --git a/humanoid_common/package.xml b/humanoid_common/package.xml
index 05799ea00133ca45d582915f780c68bd47b7f90b..1061ee352ad92a87a65af4c9108c652b1c61d4bd 100755
--- a/humanoid_common/package.xml
+++ b/humanoid_common/package.xml
@@ -51,7 +51,7 @@
   <run_depend>teleop</run_depend>
   <run_depend>humanoid_modules</run_depend>
   <run_depend>joints_cart_client</run_depend>
-  <run_depend>grippers_client</run_depend>
+  <run_depend>gripper_client</run_depend>
   <run_depend>smart_charger_client</run_depend>
   <run_depend>automatic_charge</run_depend>
   <run_depend>stairs_client</run_depend>
diff --git a/humanoid_modules/CMakeLists.txt b/humanoid_modules/CMakeLists.txt
index e2e7111ac076396b3da08cfa4fcb7a57054ab842..1559ae97dfb065aef458f156cdec572ac4f13f34 100644
--- a/humanoid_modules/CMakeLists.txt
+++ b/humanoid_modules/CMakeLists.txt
@@ -130,7 +130,7 @@ add_dependencies(action_module ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPO
 
 add_library(joints_module
  src/joints_module.cpp
- )
+)
 
 target_link_libraries(joints_module ${catkin_LIBRARIES})
 target_link_libraries(joints_module ${iriutils_LIBRARY})
@@ -189,6 +189,9 @@ target_link_libraries(search_module ${CATKIN_DEVEL_PREFIX}/${CATKIN_PACKAGE_LIB_
 # ## as an example, code may need to be generated before libraries
 # ## either from message generation or dynamic reconfigure
 add_dependencies(search_module ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
+add_dependencies(search_module action_module)
+add_dependencies(search_module walk_module)
+add_dependencies(search_module joints_module)
 
 add_library(tracking_module
  src/tracking_module.cpp
@@ -203,6 +206,8 @@ target_link_libraries(tracking_module ${CATKIN_DEVEL_PREFIX}/${CATKIN_PACKAGE_LI
 # ## as an example, code may need to be generated before libraries
 # ## either from message generation or dynamic reconfigure
 add_dependencies(tracking_module ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
+add_dependencies(tracking_module walk_module)
+add_dependencies(tracking_module head_tracking_module)
 
 add_library(gripper_module
  src/gripper_module.cpp
diff --git a/humanoid_modules/include/humanoid_modules/action_module.h b/humanoid_modules/include/humanoid_modules/action_module.h
index 9405ac05e88f900c3bd29ef225aae72df6b4c98d..d762368328d25cdeda7625fc021d7c026e7d940c 100644
--- a/humanoid_modules/include/humanoid_modules/action_module.h
+++ b/humanoid_modules/include/humanoid_modules/action_module.h
@@ -30,7 +30,7 @@ class CActionModule : public CHumanoidModule<action_module::ActionModuleConfig>
     void state_machine(void);
     void reconfigure_callback(action_module::ActionModuleConfig &config, uint32_t level);
   public:
-    CActionModule(const std::string &name);
+    CActionModule(const std::string &name,const std::string &name_space=std::string(""));
     /* control functions */
     void execute(unsigned int action_id);
     void execute(std::string &action_name);
diff --git a/humanoid_modules/include/humanoid_modules/gripper_module.h b/humanoid_modules/include/humanoid_modules/gripper_module.h
index 68064e12cf7b4b320676782356531688c48bbff8..b28cbd0e66702f41b6defcfb43419b3ead67c255 100644
--- a/humanoid_modules/include/humanoid_modules/gripper_module.h
+++ b/humanoid_modules/include/humanoid_modules/gripper_module.h
@@ -30,7 +30,7 @@ class CGripperModule : public CHumanoidModule<gripper_module::GripperModuleConfi
     void state_machine(void);
     void reconfigure_callback(gripper_module::GripperModuleConfig &config, uint32_t level);
   public:
-    CGripperModule(const std::string &name);
+    CGripperModule(const std::string &name,const std::string &name_space=std::string(""));
     /* control functions */
     void open(void);
     void close(void);
diff --git a/humanoid_modules/include/humanoid_modules/head_tracking_module.h b/humanoid_modules/include/humanoid_modules/head_tracking_module.h
index 945fa51191a5dc4211d573c853fd6037d1fb628d..22a0521af5cb7a2d3ad7eb3d43e182a23135a4c7 100644
--- a/humanoid_modules/include/humanoid_modules/head_tracking_module.h
+++ b/humanoid_modules/include/humanoid_modules/head_tracking_module.h
@@ -70,7 +70,7 @@ class CHeadTrackingModule : public CHumanoidModule<head_tracking_module::HeadTra
     bool check_get_pid_service(humanoid_common_msgs::get_pid &msg);
     void head_target_pub(const ros::TimerEvent& event);
   public:
-    CHeadTrackingModule(const std::string &name);
+    CHeadTrackingModule(const std::string &name,const std::string &name_space=std::string(""));
     /* control functions */
     void start_tracking(double pan, double tilt);
     void update_target(double pan, double tilt);
diff --git a/humanoid_modules/include/humanoid_modules/humanoid_module.h b/humanoid_modules/include/humanoid_modules/humanoid_module.h
index ee087f890f8a09e8efbc0c4efc191661d389ce27..2e96b907fb7e380a91577e59a7a586488f1988c8 100644
--- a/humanoid_modules/include/humanoid_modules/humanoid_module.h
+++ b/humanoid_modules/include/humanoid_modules/humanoid_module.h
@@ -39,7 +39,7 @@ const std::string servo_names[NUM_SERVOS]={std::string("Servo0"),
                                            std::string("Servo30"),
                                            std::string("Servo31")};
 
-typedef enum {ACTION_MODULE,WALK_MODULE,JOINTS_MODULE,HEAD_TRACKING_MODULE,GRIPPER_MODULE} motion_module_t;
+typedef enum {NO_MODULE,ACTION_MODULE,WALK_MODULE,JOINTS_MODULE,HEAD_TRACKING_MODULE,GRIPPER_MODULE} motion_module_t;
 
 template<class Module>
 class CHumanoidModule : public CModule<Module>
@@ -51,7 +51,7 @@ class CHumanoidModule : public CModule<Module>
   protected:
     CModuleService<humanoid_common_msgs::set_servo_modules> assign_service;
   public:
-    CHumanoidModule(const std::string &name,motion_module_t module_id);
+    CHumanoidModule(const std::string &name,const std::string &name_space=std::string(""),motion_module_t module_id=NO_MODULE);
     void add_servo(const std::string &name);
     void add_servos(std::vector<std::string> &names);
     void add_left_arm(void);
@@ -75,7 +75,8 @@ class CHumanoidModule : public CModule<Module>
 };
 
 template<class Module>
-CHumanoidModule<Module>::CHumanoidModule(const std::string &name,motion_module_t module_id) : CModule<Module>(name), assign_service("set_servo_modules",name)
+CHumanoidModule<Module>::CHumanoidModule(const std::string &name,const std::string &name_space,motion_module_t module_id) : CModule<Module>(name,name_space), 
+  assign_service("set_servo_modules",name)
 {
   this->assigned_servos.clear();
   switch(module_id)
diff --git a/humanoid_modules/include/humanoid_modules/joints_cart_module.h b/humanoid_modules/include/humanoid_modules/joints_cart_module.h
index e2201936c52b39520c21fa79f9c6a28b0d693364..e66aa3644a2b566a7795c06d505a93b7e569bb16 100644
--- a/humanoid_modules/include/humanoid_modules/joints_cart_module.h
+++ b/humanoid_modules/include/humanoid_modules/joints_cart_module.h
@@ -55,7 +55,7 @@ class CJointsCartModule : public CHumanoidModule<joints_cart_module::JointsCartM
     void initialize_get_ik_msg(void);
     void initialize_action_msg(sensor_msgs::JointState &solution);
   public:
-    CJointsCartModule(const std::string &name);
+    CJointsCartModule(const std::string &name,const std::string &name_space=std::string(""));
     /* control functions */
     void go_to_pose(geometry_msgs::PoseStamped &pose,double time_s=-1.0);
     void go_to_position(geometry_msgs::PointStamped &position,double time_s=-1.0);
diff --git a/humanoid_modules/include/humanoid_modules/joints_module.h b/humanoid_modules/include/humanoid_modules/joints_module.h
index 7efd9e5332b7c311098e115f5138d5eedb6637ec..38ea03298c375adc29c7eef3ea4ce5d2df888ee1 100644
--- a/humanoid_modules/include/humanoid_modules/joints_module.h
+++ b/humanoid_modules/include/humanoid_modules/joints_module.h
@@ -40,7 +40,7 @@ class CJointsModule : public CHumanoidModule<joints_module::JointsModuleConfig>
     void state_machine(void);
     void reconfigure_callback(joints_module::JointsModuleConfig &config, uint32_t level);
   public:
-    CJointsModule(const std::string &name);
+    CJointsModule(const std::string &name,const std::string &name_space=std::string(""));
     /* control functions */
 //execute joints trajectory of a vector of servos id
     void execute(std::vector<unsigned int> &servos_id, std::vector<double> &angles, std::vector<double> &speeds, const std::vector<double> &accels=std::vector<double>());
diff --git a/humanoid_modules/include/humanoid_modules/search_module.h b/humanoid_modules/include/humanoid_modules/search_module.h
index 298e50e87ebd5480209a0d554731c37cfc2db0e1..793c97f2640082c6ce3d1a5af135d6fcf5118c28 100644
--- a/humanoid_modules/include/humanoid_modules/search_module.h
+++ b/humanoid_modules/include/humanoid_modules/search_module.h
@@ -125,7 +125,7 @@ class CSearchModule : public CModule<search_module::SearchModuleConfig>
     void reconfigure_callback(search_module::SearchModuleConfig &config, uint32_t level);
   public:
 
-    CSearchModule(const std::string &name);
+    CSearchModule(const std::string &name,const std::string &name_space=std::string(""));
     /*control functions */
     void start_search(std::vector<std::string> qr_id, double angle_rotation, double error, const double tilt_angle=0.8, const double head_speed=0.5, const double head_acceleration=0.0, const double yaw_step=0.1);
     void stop_search(void);
diff --git a/humanoid_modules/include/humanoid_modules/stairs_module.h b/humanoid_modules/include/humanoid_modules/stairs_module.h
index 1962587308f55d2ce8336a3616f26170c3df21fe..36f0c72fb7dd6178c5ccb74b0ea6a1cff533a662 100644
--- a/humanoid_modules/include/humanoid_modules/stairs_module.h
+++ b/humanoid_modules/include/humanoid_modules/stairs_module.h
@@ -51,7 +51,7 @@ class CStairsModule : public CHumanoidModule<stairs_module::StairsModuleConfig>
     void state_machine(void);
     void reconfigure_callback(stairs_module::StairsModuleConfig &config, uint32_t level);
   public:
-    CStairsModule(const std::string &name);
+    CStairsModule(const std::string &name,const std::string &name_space=std::string(""));
     /* control functions */
     void start(bool up);
     void stop(void);
diff --git a/humanoid_modules/include/humanoid_modules/tracking_module.h b/humanoid_modules/include/humanoid_modules/tracking_module.h
index b5e453f981d923f4f133d053a236b4417c5c5bdc..5bea70a5c589e89ee33876fdbc9718b2e0dd9a1d 100644
--- a/humanoid_modules/include/humanoid_modules/tracking_module.h
+++ b/humanoid_modules/include/humanoid_modules/tracking_module.h
@@ -137,7 +137,7 @@ class CTrackingModule : public CModule<tracking_module::TrackingModuleConfig>
     void state_machine(void);
     void reconfigure_callback(tracking_module::TrackingModuleConfig &config, uint32_t level);
   public:
-    CTrackingModule(const std::string &name);
+    CTrackingModule(const std::string &name,const std::string &name_space=std::string(""));
     /* control functions */
     void start_tracking(std::vector<std::string> qr_id, double z_target, double x_target, double yaw_target, double z_tolerance, double x_tolerance, double yaw_tolerance);
     void stop_tracking(void);
diff --git a/humanoid_modules/include/humanoid_modules/walk_module.h b/humanoid_modules/include/humanoid_modules/walk_module.h
index be656e354bd68b96a65a55e10857c0457618a141..942aaea22d6596ef9f49947a40203a46eced17f8 100644
--- a/humanoid_modules/include/humanoid_modules/walk_module.h
+++ b/humanoid_modules/include/humanoid_modules/walk_module.h
@@ -52,7 +52,7 @@ class CWalkModule : public CHumanoidModule<walk_module::WalkModuleConfig>
     void reconfigure_callback(walk_module::WalkModuleConfig &config, uint32_t level);
     void cmd_vel_pub(const ros::TimerEvent& event);
   public:
-    CWalkModule(const std::string &name);
+    CWalkModule(const std::string &name,const std::string &name_space=std::string(""));
     /* control functions */
     void set_steps_size(double x_step, double y_step, double yaw_step);
     void set_x_step_size(double x_step);
diff --git a/humanoid_modules/src/action_module.cpp b/humanoid_modules/src/action_module.cpp
index 20af838ab8b1da72fa5a61b48ed55e16e1c81b77..a89a56b3d36f5f997f009694097b24f12034bbfa 100644
--- a/humanoid_modules/src/action_module.cpp
+++ b/humanoid_modules/src/action_module.cpp
@@ -1,6 +1,6 @@
 #include <humanoid_modules/action_module.h>
 
-CActionModule::CActionModule(const std::string &name) : CHumanoidModule(name,ACTION_MODULE),
+CActionModule::CActionModule(const std::string &name,const std::string &name_space) : CHumanoidModule(name,name_space,ACTION_MODULE),
   motion_action("motion_action",name)
 {
   this->start_operation();
@@ -50,9 +50,6 @@ void CActionModule::state_machine(void)
                               {
                                 case ACT_SRV_SUCCESS: this->state=MOTION_MODULE_WAIT;
                                                       ROS_DEBUG("CActionModule : goal start successfull");
-                                                      /* start timeout */
-                                                      if(this->config.enable_timeout)
-                                                        this->motion_action.start_timeout(this->config.timeout_s);
                                                       break;
                                 case ACT_SRV_PENDING: this->state=MOTION_MODULE_START;
                                                       ROS_WARN("CActionModule : goal start pending");
@@ -120,7 +117,7 @@ void CActionModule::reconfigure_callback(action_module::ActionModuleConfig &conf
   this->motion_action.set_max_num_retries(config.action_max_retries);
   this->motion_action.set_feedback_watchdog_time(config.feedback_watchdog_time_s);
   if(this->config.enable_timeout)
-    this->motion_action.enable_timeout();
+    this->motion_action.enable_timeout(config.timeout_s);
   else
     this->motion_action.disable_timeout();
   this->unlock();
diff --git a/humanoid_modules/src/gripper_module.cpp b/humanoid_modules/src/gripper_module.cpp
index d0bc64faf81da2b13c811630119d2761a3289491..661544f99696502f11b5d468ce854883b0d0817c 100644
--- a/humanoid_modules/src/gripper_module.cpp
+++ b/humanoid_modules/src/gripper_module.cpp
@@ -1,6 +1,6 @@
 #include <humanoid_modules/gripper_module.h>
 
-CGripperModule::CGripperModule(const std::string &name) : CHumanoidModule(name,GRIPPER_MODULE),
+CGripperModule::CGripperModule(const std::string &name,const std::string &name_space) : CHumanoidModule(name,name_space,GRIPPER_MODULE),
   gripper_action("gripper_control",name)
 {
   this->start_operation();
@@ -49,9 +49,6 @@ void CGripperModule::state_machine(void)
                                {
                                  case ACT_SRV_SUCCESS: this->state=GRIPPER_MODULE_WAIT;
                                                        ROS_DEBUG("CGripperModule : goal start successfull");
-                                                       /* start timeout */
-                                                       if(this->config.enable_timeout)
-                                                         this->gripper_action.start_timeout(this->config.timeout_s);
                                                        break;
                                  case ACT_SRV_PENDING: this->state=GRIPPER_MODULE_START;
                                                        ROS_WARN("CGripperModule : goal start pending");
@@ -119,7 +116,7 @@ void CGripperModule::reconfigure_callback(gripper_module::GripperModuleConfig &c
   this->gripper_action.set_max_num_retries(config.action_max_retries);
   this->gripper_action.set_feedback_watchdog_time(config.feedback_watchdog_time_s);
   if(this->config.enable_timeout)
-    this->gripper_action.enable_timeout();
+    this->gripper_action.enable_timeout(config.timeout_s);
   else
     this->gripper_action.disable_timeout();
   this->unlock();
diff --git a/humanoid_modules/src/head_tracking_module.cpp b/humanoid_modules/src/head_tracking_module.cpp
index 4fc5dfdeafb539b32a2ecba862cc84eadcac7448..5325ff882f5e54412996eb0aa0b8c23709d22f2f 100644
--- a/humanoid_modules/src/head_tracking_module.cpp
+++ b/humanoid_modules/src/head_tracking_module.cpp
@@ -2,7 +2,7 @@
 
 typedef enum {PAN_PID=0,TILT_PID=1} pid_id_t;
 
-CHeadTrackingModule::CHeadTrackingModule(const std::string &name) : CHumanoidModule(name,HEAD_TRACKING_MODULE),
+CHeadTrackingModule::CHeadTrackingModule(const std::string &name,const std::string &name_space) : CHumanoidModule(name,name_space,HEAD_TRACKING_MODULE),
   tracking_action("head_tracking_action",name),
   set_pan_pid_service("set_pan_pid",name),
   get_pan_pid_service("get_pan_pid",name),
@@ -125,9 +125,6 @@ void CHeadTrackingModule::state_machine(void)
                                      {
                                        case ACT_SRV_SUCCESS: this->state=HEAD_TRACKING_MODULE_WAIT;
                                                              ROS_DEBUG("CHeadTrackingModule : goal start successfull");
-                                                             /* start timeout */
-                                                             if(this->config.enable_timeout)
-                                                               this->tracking_action.start_timeout(this->config.timeout_s);
                                                              this->head_target_timer.start();
                                                              break;
                                        case ACT_SRV_PENDING: this->state=HEAD_TRACKING_MODULE_START;
@@ -253,7 +250,7 @@ void CHeadTrackingModule::reconfigure_callback(head_tracking_module::HeadTrackin
   this->tracking_action.set_max_num_retries(config.action_max_retries);
   this->tracking_action.set_feedback_watchdog_time(config.feedback_watchdog_time_s);
   if(this->config.enable_timeout)
-    this->tracking_action.enable_timeout();
+    this->tracking_action.enable_timeout(config.timeout_s);
   else
     this->tracking_action.disable_timeout();
   this->unlock();
diff --git a/humanoid_modules/src/joints_cart_module.cpp b/humanoid_modules/src/joints_cart_module.cpp
index 065fb0218ad1c1918545b0707bb7ff225a8a86e6..8ceb1468b871762471cef715be69ce407d6a2fc9 100644
--- a/humanoid_modules/src/joints_cart_module.cpp
+++ b/humanoid_modules/src/joints_cart_module.cpp
@@ -4,7 +4,7 @@
 
 #define JOINT_CART_DEFAULT_SPEED     1.0
 
-CJointsCartModule::CJointsCartModule(const std::string &name) : CHumanoidModule(name,JOINTS_MODULE),
+CJointsCartModule::CJointsCartModule(const std::string &name,const std::string &name_space) : CHumanoidModule(name,name_space,JOINTS_MODULE),
   joints_action("joints_action",name),
   get_ik_service("get_arm_ik",name),
   arm_ik_reconf("arm_ik_set_params",name)
@@ -75,9 +75,6 @@ void CJointsCartModule::state_machine(void)
                                    {
                                      case ACT_SRV_SUCCESS: this->state=JOINTS_CART_MODULE_WAIT;
                                                            ROS_DEBUG("CJointsCartModule : goal start successfull");
-                                                           /* start timeout */
-                                                           if(this->config.enable_timeout)
-                                                             this->joints_action.start_timeout(this->config.timeout_s);
                                                            break;
                                      case ACT_SRV_PENDING: this->state=JOINTS_CART_MODULE_START;
                                                            ROS_WARN("CJointsCartModule : goal start pending");
@@ -147,7 +144,7 @@ void CJointsCartModule::reconfigure_callback(joints_cart_module::JointsCartModul
   this->joints_action.set_max_num_retries(config.action_max_retries);
   this->joints_action.set_feedback_watchdog_time(config.feedback_watchdog_time_s);
   if(this->config.enable_timeout)
-    this->joints_action.enable_timeout();
+    this->joints_action.enable_timeout(config.timeout_s);
   else
     this->joints_action.disable_timeout();
   /* remote node configurtions */
diff --git a/humanoid_modules/src/joints_module.cpp b/humanoid_modules/src/joints_module.cpp
index ee872b5c1d9c329deec3b4e412431658d8c1d242..6689adc9720a6c1af1fb75a82a8ece8a8e7791b6 100644
--- a/humanoid_modules/src/joints_module.cpp
+++ b/humanoid_modules/src/joints_module.cpp
@@ -2,7 +2,7 @@
 
 #define SERVO_ACCEL 0.3
 
-CJointsModule::CJointsModule(const std::string &name) : CHumanoidModule(name,JOINTS_MODULE),
+CJointsModule::CJointsModule(const std::string &name,const std::string &name_space) : CHumanoidModule(name,name_space,JOINTS_MODULE),
   joints_trajectory("joint_trajectory_action",name)
 {
   this->start_operation();
@@ -54,9 +54,6 @@ void CJointsModule::state_machine(void)
                                                       ROS_DEBUG("CJointsModule : goal start successfull");
                                                       /* clear goal*/
                                                       this->clear_goal();
-                                                      /* start timeout */
-                                                      if(this->config.enable_timeout)
-                                                        this->joints_trajectory.start_timeout(this->config.timeout_s);
                                                       break;
                                 case ACT_SRV_PENDING: this->state=JOINTS_MODULE_START;
                                                       ROS_WARN("CJointsModule : goal start pending");
@@ -125,7 +122,7 @@ void CJointsModule::reconfigure_callback(joints_module::JointsModuleConfig &conf
   this->joints_trajectory.set_max_num_retries(config.action_max_retries);
   this->joints_trajectory.set_feedback_watchdog_time(config.feedback_watchdog_time_s);
   if(this->config.enable_timeout)
-    this->joints_trajectory.enable_timeout();
+    this->joints_trajectory.enable_timeout(config.timeout_s);
   else
     this->joints_trajectory.disable_timeout();
   this->unlock();
diff --git a/humanoid_modules/src/search_module.cpp b/humanoid_modules/src/search_module.cpp
index 4857a6c790196a0dda1efa9cf9ff7becf7888511..f2be4969ce285a88e2b7909b928a39b07f18cc9a 100644
--- a/humanoid_modules/src/search_module.cpp
+++ b/humanoid_modules/src/search_module.cpp
@@ -12,10 +12,10 @@
 
 #define PI 3.14159
 
-CSearchModule::CSearchModule(const std::string &name) : CModule(name),
-  joints_trajectory_module(name+"/joint_trajectory"),
-  walk_module(name+"/walk"),
-  action_module(name+"action")
+CSearchModule::CSearchModule(const std::string &name,const std::string &name_space) : CModule(name,name_space),
+  joints_trajectory_module("joint_trajectory",name),
+  walk_module("walk",name),
+  action_module("action",name)
 {
 
   this->start_operation();
diff --git a/humanoid_modules/src/stairs_module.cpp b/humanoid_modules/src/stairs_module.cpp
index 43cf9362a54aa86ae508feba5c2a480a913a52c9..9d710d52546580b1111496aab83e2a268fdea741 100644
--- a/humanoid_modules/src/stairs_module.cpp
+++ b/humanoid_modules/src/stairs_module.cpp
@@ -1,6 +1,6 @@
 #include <humanoid_modules/stairs_module.h>
 
-CStairsModule::CStairsModule(const std::string &name) : CHumanoidModule(name,WALK_MODULE),
+CStairsModule::CStairsModule(const std::string &name,const std::string &name_space) : CHumanoidModule(name,name_space,WALK_MODULE),
   set_stairs_params_service("set_stairs_params",name),
   get_stairs_params_service("get_stairs_params",name),
   climb_stairs("climb_stairs",name)
@@ -86,9 +86,6 @@ void CStairsModule::state_machine(void)
                               {
                                 case ACT_SRV_SUCCESS: this->state=STAIRS_MODULE_WAIT;
                                                       ROS_DEBUG("CStairsModule : goal start successfull");
-                                                      /* start timeout */
-                                                      if(this->config.enable_timeout)
-                                                        this->climb_stairs.start_timeout(this->config.timeout_s);
                                                       break;
                                 case ACT_SRV_PENDING: this->state=STAIRS_MODULE_START;
                                                       ROS_WARN("CStairsModule : goal start pending");
@@ -181,7 +178,7 @@ void CStairsModule::reconfigure_callback(stairs_module::StairsModuleConfig &conf
   this->climb_stairs.set_max_num_retries(config.action_max_retries);
   this->climb_stairs.set_feedback_watchdog_time(config.feedback_watchdog_time_s);
   if(this->config.enable_timeout)
-    this->climb_stairs.enable_timeout();
+    this->climb_stairs.enable_timeout(config.timeout_s);
   else
     this->climb_stairs.disable_timeout();
   this->unlock();
diff --git a/humanoid_modules/src/tracking_module.cpp b/humanoid_modules/src/tracking_module.cpp
index afebcfcaaa8516388b45e875eb3c417efd7e6205..77702852ae7e38dcf6ab8a8a6b62afba8f2b25de 100644
--- a/humanoid_modules/src/tracking_module.cpp
+++ b/humanoid_modules/src/tracking_module.cpp
@@ -14,9 +14,9 @@
 
 #include "humanoid_modules/tracking_module.h"
 
-CTrackingModule::CTrackingModule(const std::string &name) : CModule(name),
-  head_tracking_module(name+"/head_tracking"),
-  walk_module(name+"/walk")
+CTrackingModule::CTrackingModule(const std::string &name,const std::string &name_space) : CModule(name,name_space),
+  head_tracking_module("head_tracking",name),
+  walk_module("walk",name)
 {
  
   this->start_operation();
@@ -951,4 +951,4 @@ CTrackingModule::~CTrackingModule(void)
     this->stop_tracking();
     while(!this->is_finished());
   }
-}
\ No newline at end of file
+}
diff --git a/humanoid_modules/src/walk_module.cpp b/humanoid_modules/src/walk_module.cpp
index 90040a9e41829c5f2b40bddcd19498596cd27ade..37532b9a5715a1181065dc6e85fd72eb82f0b2af 100644
--- a/humanoid_modules/src/walk_module.cpp
+++ b/humanoid_modules/src/walk_module.cpp
@@ -1,6 +1,6 @@
 #include <humanoid_modules/walk_module.h>
 
-CWalkModule::CWalkModule(const std::string &name) : CHumanoidModule(name,WALK_MODULE),
+CWalkModule::CWalkModule(const std::string &name,const std::string &name_space) : CHumanoidModule(name,name_space,WALK_MODULE),
   set_walk_params_service("set_walk_params",name),
   get_walk_params_service("get_walk_params",name)
 {