diff --git a/src/kpi_value_writer/service/KpiValueWriter.py b/src/kpi_value_writer/service/KpiValueWriter.py
index 26bab44657606b1f3edc14659d128c5ccc7a6890..022126fd0f732d6e7b52671a707385c30b9f052c 100644
--- a/src/kpi_value_writer/service/KpiValueWriter.py
+++ b/src/kpi_value_writer/service/KpiValueWriter.py
@@ -33,7 +33,6 @@ from .MetricWriterToPrometheus import MetricWriterToPrometheus
 
 LOGGER           = logging.getLogger(__name__)
 ACTIVE_CONSUMERS = []
-METRIC_WRITER    = MetricWriterToPrometheus()
 
 class KpiValueWriter(GenericGrpcService):
     def __init__(self, cls_name : str = __name__) -> None:
@@ -48,12 +47,14 @@ class KpiValueWriter(GenericGrpcService):
 
     @staticmethod
     def KafkaConsumer():
+        kpi_manager_client = KpiManagerClient()
+        metric_writer      = MetricWriterToPrometheus()
+
         kafka_consumer  = KafkaConsumer(
             { 'bootstrap.servers' : KafkaConfig.SERVER_IP.value,
               'group.id'          : __class__,
               'auto.offset.reset' : 'latest'}
-        )
-        kpi_manager_client = KpiManagerClient()
+        )      
         kafka_consumer.subscribe([KafkaTopic.VALUE.value])
         LOGGER.debug("Kafka Consumer start listenng on topic: {:}".format(KafkaTopic.VALUE.value))
         print("Kafka Consumer start listenng on topic: {:}".format(KafkaTopic.VALUE.value))
@@ -72,13 +73,13 @@ class KpiValueWriter(GenericGrpcService):
                 kpi_value.ParseFromString(raw_kpi.value())
                 LOGGER.info("Received KPI : {:}".format(kpi_value))
                 print("Received KPI : {:}".format(kpi_value))
-                KpiValueWriter.get_kpi_descriptor(kpi_value, kpi_manager_client)
+                KpiValueWriter.get_kpi_descriptor(kpi_value, kpi_manager_client, metric_writer)
             except Exception as e:
                 print("Error detail: {:}".format(e))
                 continue
 
     @staticmethod
-    def get_kpi_descriptor(kpi_value: str, kpi_manager_client ):
+    def get_kpi_descriptor(kpi_value: str, kpi_manager_client, metric_writer):
         print("--- START -----")
 
         kpi_id = KpiId()
@@ -89,12 +90,11 @@ class KpiValueWriter(GenericGrpcService):
         try:
             kpi_descriptor_object = KpiDescriptor()
             kpi_descriptor_object = kpi_manager_client.GetKpiDescriptor(kpi_id)
+            # TODO: why kpi_descriptor_object recevies a KpiDescriptor type object not Empty type object???
             if kpi_descriptor_object.kpi_id.kpi_id.uuid == kpi_id.kpi_id.uuid:
-            # print("kpi descriptor received: {:}".format(kpi_descriptor_object))
-            # if isinstance (kpi_descriptor_object, KpiDescriptor):
                 LOGGER.info("Extracted KpiDescriptor: {:}".format(kpi_descriptor_object))
                 print("Extracted KpiDescriptor: {:}".format(kpi_descriptor_object))
-                METRIC_WRITER.create_and_expose_cooked_kpi(kpi_descriptor_object, kpi_value)
+                metric_writer.create_and_expose_cooked_kpi(kpi_descriptor_object, kpi_value)
             else:
                 LOGGER.info("No KPI Descriptor found in DB for Kpi ID: {:}".format(kpi_id))
                 print("No KPI Descriptor found in DB for Kpi ID: {:}".format(kpi_id))