diff --git a/include/iri_base_bt_client/iri_base_bt_client.h b/include/iri_base_bt_client/iri_base_bt_client.h
index c9659440dfbc73361cd2c0a69f77b539ca00a191..50746221de1179b3cf33120cc40496e08517e529 100644
--- a/include/iri_base_bt_client/iri_base_bt_client.h
+++ b/include/iri_base_bt_client/iri_base_bt_client.h
@@ -97,12 +97,6 @@ class IriBaseBTClient
     */
     std::string tree_xml_file;
 
-    /**
-    * \brief 
-    * 
-    */
-    IriBehaviorTreeFactory factory;
-
     /**
     * \brief 
     * 
@@ -126,6 +120,12 @@ class IriBaseBTClient
     */
     IriBTBasicNodes core;
 
+    /**
+    * \brief 
+    * 
+    */
+    IriBehaviorTreeFactory factory;
+
    /**
     * \brief define config type
     *
@@ -314,12 +314,6 @@ class IriBaseBTClient
     */
     double getRate(void);
 
-    /**
-    * \brief 
-    * 
-    */
-    virtual void init(IriBehaviorTreeFactory &factory) = 0;
-
    /**
     * \brief dynamic reconfigure server callback
     * 
@@ -665,9 +659,6 @@ void *IriBaseBTClient<ConfigClass>::mainThread(void *param)
   // retrieve base algorithm class
   IriBaseBTClient *iriNode = (IriBaseBTClient *)param;
 
-  // initialize user actions and conditions
-  iriNode->init(iriNode->factory);
-
   try
   {
     // creation of tree from .xml
@@ -730,7 +721,7 @@ int IriBaseBTClient<ConfigClass>::spin(void)
     // update diagnostics
     this->diagnostic_.update();
     
-    ros::WallDuration(0.1).sleep();
+    ros::WallDuration(this->diagnostic_.getPeriod()).sleep();
   }
 
   // stop ros