diff --git a/include/iri_base_algorithm/iri_base_algorithm.h b/include/iri_base_algorithm/iri_base_algorithm.h
index 12727aa5b010f2cc25076a461bcaaae535e48f14..c1ac22ab8c3963a31a22a7769ba5f9630b45d40d 100644
--- a/include/iri_base_algorithm/iri_base_algorithm.h
+++ b/include/iri_base_algorithm/iri_base_algorithm.h
@@ -198,14 +198,15 @@ class IriBaseAlgorithm : public AbstractAlgorithmNode
     * \brief dynamic reconfigure server callback
     * 
     * This method is called whenever a new configuration is received through
-    * the dynamic reconfigure.
+    * the dynamic reconfigure. The derivated generic algorithm class must 
+    * implement it.
     *
     * \param config an object with new configuration from all algorithm 
     *               parameters defined in the config file.
     * \param level  integer referring the level in which the configuration
     *               has been changed.
     */
-    void reconfigureCallback(Config &config, uint32_t level);
+    virtual void reconfigureCallback(Config &config, uint32_t level) = 0;
 
    /**
     * \brief add diagnostics
@@ -257,11 +258,11 @@ class IriBaseAlgorithm : public AbstractAlgorithmNode
 
 template <class Algorithm>
 IriBaseAlgorithm<Algorithm>::IriBaseAlgorithm() : 
-  private_node_handle_("~"), 
   public_node_handle_(ros::this_node::getName()),
+  private_node_handle_("~"), 
+  loop_rate_(DEFAULT_RATE),
   dsrv_(private_node_handle_),
-  diagnostic_(),
-  loop_rate_(DEFAULT_RATE)
+  diagnostic_()
 {
   // create thread server instance
   this->thread_server_  = CThreadServer::instance();
@@ -284,11 +285,11 @@ IriBaseAlgorithm<Algorithm>::~IriBaseAlgorithm()
   this->thread_server_->kill_thread(this->main_thread_id_);
 }
 
-template <class Algorithm>
-void IriBaseAlgorithm<Algorithm>::reconfigureCallback(Config &config, uint32_t level)
-{
-  this->alg_.config_ = config;
-}
+// template <class Algorithm>
+// void IriBaseAlgorithm<Algorithm>::reconfigureCallback(Config &config, uint32_t level)
+// {
+//   this->alg_.config_ = config;
+// }
 
 template <class Algorithm>
 void IriBaseAlgorithm<Algorithm>::addDiagnostics(void)