diff --git a/src/pathcomp/frontend/service/algorithms/KDisjointPathAlgorithm.py b/src/pathcomp/frontend/service/algorithms/KDisjointPathAlgorithm.py
index a6d39ee36949e075323613fceb71da5c77354fe5..b15c8960219c4dbc7ec69744834306c4f745da44 100644
--- a/src/pathcomp/frontend/service/algorithms/KDisjointPathAlgorithm.py
+++ b/src/pathcomp/frontend/service/algorithms/KDisjointPathAlgorithm.py
@@ -141,7 +141,7 @@ class KDisjointPathAlgorithm(_Algorithm):
 
         Path = List[Dict]
         Path_NoPath = Optional[Path] # None = no path, list = path
-        self.json_reply : Dict[Tuple[str, str], List[Path_NoPath]] = dict()
+        service_to_paths : Dict[Tuple[str, str], List[Path_NoPath]] = dict()
 
         for num_path in range(self.num_disjoint):
             algorithm.service_list = list()
@@ -189,66 +189,76 @@ class KDisjointPathAlgorithm(_Algorithm):
             for response in response_list:
                 service_id = response['serviceId']
                 service_key = (service_id['contextId'], service_id['service_uuid'])
-                json_reply_service = self.json_reply.setdefault(service_key, list())
+                json_reply_service = service_to_paths.setdefault(service_key, list())
 
                 no_path_issue = response.get('noPath', {}).get('issue')
-                if no_path_issue is not None:
-                    json_reply_service.append(None)
-                    continue
+                if no_path_issue is not None: continue
 
                 path_endpoints = response['path'][0]['devices']
                 json_reply_service.append(path_endpoints)
                 algorithm.link_list = self.remove_traversed_links(algorithm.link_list, path_endpoints)
 
+        self.json_reply = dict()
+        response_list = self.json_reply.get('response-list', [])
+        for service_key,paths in service_to_paths.items():
+            response = {'serviceId': {
+                'contextId': service_key[0],
+                'service_uuid': service_key[1],
+            }}
+            response['path'] = paths
+            if len(paths) < self.num_disjoint:
+                response['noPath'] = {'issue': 1}
+            response_list.append(response)
+
         self.logger.debug('self.json_reply = {:s}'.format(str(self.json_reply)))
 
-    def get_reply(self) -> PathCompReply:
-        reply = PathCompReply()
-        grpc_services : Dict[Tuple[str, str], Service] = {}
-        grpc_connections : Dict[Tuple[int, str], Connection] = {}
-        for service_key,paths in self.json_reply.items():
-            context_uuid, service_uuid = service_key
-
-            grpc_services[service_key] = self.add_service_to_reply(reply, context_uuid, service_uuid)
-
-            for num_path,service_path_ero in enumerate(paths):
-                self.logger.warning('num_path={:d}'.format(num_path))
-                self.logger.warning('service_path_ero={:s}'.format(str(service_path_ero)))
-                if service_path_ero is None: continue
-                path_hops = eropath_to_hops(service_path_ero, self.endpoint_to_link_dict)
-                self.logger.warning('path_hops={:s}'.format(str(path_hops)))
-                connections = convert_explicit_path_hops_to_connections(path_hops, self.device_dict, service_uuid)
-                self.logger.warning('connections={:s}'.format(str(connections)))
-
-                for connection in connections:
-                    connection_uuid,device_layer,path_hops,_ = connection
-
-                    service_key = (context_uuid, connection_uuid)
-                    grpc_service = grpc_services.get(service_key)
-                    if grpc_service is not None: continue
-                    grpc_service = self.add_service_to_reply(
-                        reply, context_uuid, connection_uuid, device_layer=device_layer, path_hops=path_hops)
-                    grpc_services[service_key] = grpc_service
-
-                for connection in connections:
-                    connection_uuid,device_layer,path_hops,dependencies = connection
-
-                    service_key = (context_uuid, connection_uuid)
-                    grpc_service = grpc_services.get(service_key)
-                    if grpc_service is None: raise Exception('Service({:s}) not found'.format(str(service_key)))
-
-                    connection_uuid = '{:s}:{:d}'.format(connection_uuid, num_path)
-                    grpc_connection = grpc_connections.get(connection_uuid)
-                    if grpc_connection is not None: continue
-                    grpc_connection = self.add_connection_to_reply(reply, connection_uuid, grpc_service, path_hops)
-                    grpc_connections[connection_uuid] = grpc_connection
-
-                    for sub_service_uuid in dependencies:
-                        sub_service_key = (context_uuid, sub_service_uuid)
-                        grpc_sub_service = grpc_services.get(sub_service_key)
-                        if grpc_sub_service is None:
-                            raise Exception('Service({:s}) not found'.format(str(sub_service_key)))
-                        grpc_sub_service_id = grpc_connection.sub_service_ids.add()
-                        grpc_sub_service_id.CopyFrom(grpc_sub_service.service_id)
-
-        return reply
+#    def get_reply(self) -> PathCompReply:
+#        reply = PathCompReply()
+#        grpc_services : Dict[Tuple[str, str], Service] = {}
+#        grpc_connections : Dict[Tuple[int, str], Connection] = {}
+#        for service_key,paths in self.json_reply.items():
+#            context_uuid, service_uuid = service_key
+#
+#            grpc_services[service_key] = self.add_service_to_reply(reply, context_uuid, service_uuid)
+#
+#            for num_path,service_path_ero in enumerate(paths):
+#                self.logger.warning('num_path={:d}'.format(num_path))
+#                self.logger.warning('service_path_ero={:s}'.format(str(service_path_ero)))
+#                if service_path_ero is None: continue
+#                path_hops = eropath_to_hops(service_path_ero, self.endpoint_to_link_dict)
+#                self.logger.warning('path_hops={:s}'.format(str(path_hops)))
+#                connections = convert_explicit_path_hops_to_connections(path_hops, self.device_dict, service_uuid)
+#                self.logger.warning('connections={:s}'.format(str(connections)))
+#
+#                for connection in connections:
+#                    connection_uuid,device_layer,path_hops,_ = connection
+#
+#                    service_key = (context_uuid, connection_uuid)
+#                    grpc_service = grpc_services.get(service_key)
+#                    if grpc_service is not None: continue
+#                    grpc_service = self.add_service_to_reply(
+#                        reply, context_uuid, connection_uuid, device_layer=device_layer, path_hops=path_hops)
+#                    grpc_services[service_key] = grpc_service
+#
+#                for connection in connections:
+#                    connection_uuid,device_layer,path_hops,dependencies = connection
+#
+#                    service_key = (context_uuid, connection_uuid)
+#                    grpc_service = grpc_services.get(service_key)
+#                    if grpc_service is None: raise Exception('Service({:s}) not found'.format(str(service_key)))
+#
+#                    connection_uuid = '{:s}:{:d}'.format(connection_uuid, num_path)
+#                    grpc_connection = grpc_connections.get(connection_uuid)
+#                    if grpc_connection is not None: continue
+#                    grpc_connection = self.add_connection_to_reply(reply, connection_uuid, grpc_service, path_hops)
+#                    grpc_connections[connection_uuid] = grpc_connection
+#
+#                    for sub_service_uuid in dependencies:
+#                        sub_service_key = (context_uuid, sub_service_uuid)
+#                        grpc_sub_service = grpc_services.get(sub_service_key)
+#                        if grpc_sub_service is None:
+#                            raise Exception('Service({:s}) not found'.format(str(sub_service_key)))
+#                        grpc_sub_service_id = grpc_connection.sub_service_ids.add()
+#                        grpc_sub_service_id.CopyFrom(grpc_sub_service.service_id)
+#
+#        return reply