diff --git a/README.md b/README.md
index 0c0a47bc3a151efdd0eeac909d859e661bf18f8b..2cb59d2005ed102b201eb6e668d98f99522ba945 100644
--- a/README.md
+++ b/README.md
@@ -3,6 +3,8 @@
 The iri_adc_jury_server project description
 
 # ROS Interface
+### Service clients
+  - ~**set_lights** (iri_adc_msgs/set_car_lights.srv)
 ### Action servers
   - ~**adc_jury** (iri_adc_msgs/adc_jury.action)
 ### Service servers
diff --git a/cfg/AdcJuryServer.cfg b/cfg/AdcJuryServer.cfg
index 9c8ea6a1a71d9d4c90b2de10b9018a310dd5d228..fe4edc4c345c595549e754709b136cf187290c51 100755
--- a/cfg/AdcJuryServer.cfg
+++ b/cfg/AdcJuryServer.cfg
@@ -47,5 +47,18 @@ gen.add("block_feedback_time",  double_t,  0,         "Time in seconds to block
 gen.add("block_service",        bool_t,  0,           "Block service callback function",                     True)
 gen.add("block_service_time",   double_t,  0,         "Time in seconds to block service callback function",  3.0, 0.0, 10.0)
 
+lights_enum = gen.enum([ 
+  gen.const("off",           int_t,  0, "lights off"), 
+  gen.const("normal_drive",  int_t,  1, "normal drive"), 
+  gen.const("brake",         int_t,  2, "brake"), 
+  gen.const("turn_left",     int_t,  3, "turn left"), 
+  gen.const("turn_right",    int_t,  4, "turn right"), 
+  gen.const("parked",        int_t,  5, "parked"), 
+  gen.const("emergency",     int_t,  6, "emergency"), 
+  gen.const("ambulance",     int_t,  7, "ambulance"), 
+  gen.const("charging",      int_t,  8, "charging")],
+  "car_lights")
+
+gen.add("car_lights",   int_t,  0,         "Desired car lights configuration",  0,edit_method=lights_enum)
 
 exit(gen.generate(PACKAGE, "AdcJuryServerAlgorithm", "AdcJuryServer"))
diff --git a/include/adc_jury_server_alg_node.h b/include/adc_jury_server_alg_node.h
index 03102820715825c5efc3133c57e1f41c7cfcfed0..da29f8c62d55cd24c727f690477afc55771ff37a 100644
--- a/include/adc_jury_server_alg_node.h
+++ b/include/adc_jury_server_alg_node.h
@@ -31,12 +31,15 @@
 // [publisher subscriber headers]
 
 // [service client headers]
+#include <iri_adc_msgs/set_car_lights.h>
 #include <iri_adc_msgs/jury_mode.h>
 
 // [action server client headers]
 #include <iri_action_server/iri_action_server.h>
 #include <iri_adc_msgs/adc_juryAction.h>
 
+#include <sstream>
+
 /**
  * \brief IRI ROS Specific Algorithm Class
  *
@@ -55,8 +58,9 @@ class AdcJuryServerAlgNode : public algorithm_base::IriBaseAlgorithm<AdcJuryServ
     void jury_mode_mutex_enter(void);
     void jury_mode_mutex_exit(void);
 
-
     // [client attributes]
+    ros::ServiceClient set_lights_client_;
+    iri_adc_msgs::set_car_lights set_lights_srv_;
 
     // [action server attributes]
     IriActionServer<iri_adc_msgs::adc_juryAction> adc_jury_aserver_;
@@ -70,9 +74,9 @@ class AdcJuryServerAlgNode : public algorithm_base::IriBaseAlgorithm<AdcJuryServ
     bool adc_jury_succeeded;
     bool adc_jury_finished;
 
-
     // [action client attributes]
 
+    std::stringstream feedback_msg;
    /**
     * \brief config variable
     *
diff --git a/src/adc_jury_server_alg_node.cpp b/src/adc_jury_server_alg_node.cpp
index f739613cad4d757748ebc9269c8a7f0681e1fa8a..d9d0ca072ce3d7ffccef5ff2ba522307bcceeb33 100644
--- a/src/adc_jury_server_alg_node.cpp
+++ b/src/adc_jury_server_alg_node.cpp
@@ -20,8 +20,8 @@ AdcJuryServerAlgNode::AdcJuryServerAlgNode(void) :
   this->jury_mode_server_ = this->private_node_handle_.advertiseService("jury_mode", &AdcJuryServerAlgNode::jury_modeCallback, this);
   pthread_mutex_init(&this->jury_mode_mutex_,NULL);
 
-  
   // [init clients]
+  set_lights_client_ = this->private_node_handle_.serviceClient<iri_adc_msgs::set_car_lights>("set_lights");
   
   // [init action servers]
   adc_jury_aserver_.registerStartCallback(boost::bind(&AdcJuryServerAlgNode::adc_juryStartCallback, this, _1));
@@ -53,7 +53,7 @@ void AdcJuryServerAlgNode::mainNodeThread(void)
   // [fill msg structures]
   
   // [fill srv structure and make request to the server]
-  
+ 
   // [fill action structure and make request to the action server]
   // To finish the action server with success
   //this->adc_jury_succeeded=true;
@@ -84,6 +84,11 @@ bool AdcJuryServerAlgNode::jury_modeCallback(iri_adc_msgs::jury_mode::Request &r
   //this->jury_mode_mutex_enter();
 
   ROS_INFO("AdcJuryServerAlgNode::jury_modeCallback: req=%d!",req.enable);
+  this->feedback_msg << "received jury mode request";
+  if(req.enable)
+    this->feedback_msg << "(enable)" << std::endl;
+  else
+    this->feedback_msg << "(disable)" << std::endl;
   //do operations with req and output on res
 
   if(this->config_.block_service)
@@ -167,10 +172,12 @@ void AdcJuryServerAlgNode::adc_juryGetResultCallback(iri_adc_msgs::adc_juryResul
 void AdcJuryServerAlgNode::adc_juryGetFeedbackCallback(iri_adc_msgs::adc_juryFeedbackPtr& feedback)
 {
   this->alg_.lock();
-  //update feedback data to be sent to client
   static int i=0;
-  feedback->status = this->config_.feedback_status_text + std::to_string(i);;
+  //update feedback data to be sent to client
+  this->feedback_msg << this->config_.feedback_status_text << i << std::endl;
+  feedback->status = this->feedback_msg.str();
   i++;
+  this->feedback_msg.str("");
   //ROS_INFO("feedback: %s", feedback->data.c_str());
   //ROS_INFO("AdcJuryServerAlgNode::adc_juryGetFeedbackCallback feedback.status='%s'", feedback->status.c_str());
   if(this->config_.block_feedback)
@@ -202,7 +209,57 @@ void AdcJuryServerAlgNode::node_config_update(Config &config, uint32_t level)
     this->adc_jury_succeeded=false;
     config.finish_action_with_failure=false;
   }
-  
+  if(config.car_lights==0)
+  {
+    set_lights_srv_.request.lights=iri_adc_msgs::set_car_lightsRequest::CAR_OFF;
+    this->feedback_msg << "set car lights in mode OFF" << std::endl;
+  }
+  else if(config.car_lights==1)
+  {
+    set_lights_srv_.request.lights=iri_adc_msgs::set_car_lightsRequest::CAR_NORMAL_DRIVE;
+    this->feedback_msg << "set car lights in mode NORMAL_DRIVE" << std::endl;
+  }
+  else if(config.car_lights==2)
+  {
+    set_lights_srv_.request.lights=iri_adc_msgs::set_car_lightsRequest::CAR_BRAKE;
+    this->feedback_msg << "set car lights in mode BRAKE" << std::endl;
+  }
+  else if(config.car_lights==3)
+  {
+    set_lights_srv_.request.lights=iri_adc_msgs::set_car_lightsRequest::CAR_TURN_LEFT;
+    this->feedback_msg << "set car lights in mode TURN_LEFT" << std::endl;
+  }
+  else if(config.car_lights==4)
+  {
+    set_lights_srv_.request.lights=iri_adc_msgs::set_car_lightsRequest::CAR_TURN_RIGHT;
+    this->feedback_msg << "set car lights in mode TURN_RIGHT" << std::endl;
+  }
+  else if(config.car_lights==5)
+  {
+    set_lights_srv_.request.lights=iri_adc_msgs::set_car_lightsRequest::CAR_PARKED;
+    this->feedback_msg << "set car lights in mode PARKED" << std::endl;
+  }
+  else if(config.car_lights==6)
+  {
+    set_lights_srv_.request.lights=iri_adc_msgs::set_car_lightsRequest::CAR_EMERGENCY;
+    this->feedback_msg << "set car lights in mode EMERGENCY" << std::endl;
+  }
+  else if(config.car_lights==7)
+  {
+    set_lights_srv_.request.lights=iri_adc_msgs::set_car_lightsRequest::CAR_AMBULANCE;
+    this->feedback_msg << "set car lights in mode AMBULANCE" << std::endl;
+  }
+  else if(config.car_lights==8)
+  {
+    set_lights_srv_.request.lights=iri_adc_msgs::set_car_lightsRequest::CAR_CHARGING;
+    this->feedback_msg << "set car lights in mode CHARGING" << std::endl;
+  }
+  ROS_INFO("AdcJuryServerAlgNode:: Calling service set_lights_client_!");
+  if (set_lights_client_.call(set_lights_srv_))
+    ROS_INFO("AdcJuryServerAlgNode:: set_lights_client_ received a response from service server");
+  else
+    ROS_INFO("AdcJuryServerAlgNode:: Failed to call service on topic %s",this->set_lights_client_.getService().c_str());
+ 
   this->config_=config;
   this->alg_.unlock();
 }