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 4b6082d96fcf743a285414f8c0c78f869a3c051b..7bf61ade75eedb3928e209ce5d42c58e0bab642e 100644
--- a/include/iri_base_bt_client/iri_base_bt_client.h
+++ b/include/iri_base_bt_client/iri_base_bt_client.h
@@ -378,6 +378,12 @@ class IriBaseBTClient
     *
     */
     static void hupCalled(int sig);
+
+   /**
+    * \brief 
+    *
+    */
+    virtual void user_loop(void) = 0;
 };
 
 
@@ -693,6 +699,7 @@ void *IriBaseBTClient<ConfigClass>::mainThread(void *param)
     {
       try                        
       {
+        iriNode->user_loop();
         iriNode->status=iriNode->tree.tickRoot();
         ROS_DEBUG_STREAM("Tree status: " << iriNode->status);          
       }