diff --git a/src/bgpls_speaker/Dockerfile b/src/bgpls_speaker/Dockerfile
index d8722934d38583c41eea8c0adbad1d22bf184887..d90ebf82b0d7d1949471db51ca0e1dd5c4ed1e80 100644
--- a/src/bgpls_speaker/Dockerfile
+++ b/src/bgpls_speaker/Dockerfile
@@ -62,8 +62,8 @@ COPY src/bgpls_speaker/service/java/netphony-topology/pom.xml pom.xml
 
 WORKDIR /var/teraflow/bgpls/service/java/netphony-topology/
 
-RUN mvn clean compile -DskipTests -Dmaven.repo.local=$HOME/.m2/es/tid/netphony/network-protocols
-RUN mvn package -P bgp-ls-speaker assembly:single -DskipTests
+# RUN mvn clean compile -DskipTests -Dmaven.repo.local=$HOME/.m2/es/tid/netphony/network-protocols
+# RUN mvn package -P bgp-ls-speaker assembly:single -DskipTests
 
 # ENTRYPOINT [ "ls","-R" ]
 # -------------------------------------------
diff --git a/src/bgpls_speaker/service/java/bgp_ls.jar b/src/bgpls_speaker/service/java/bgp_ls.jar
index d858ce37af1efc469db682b03b85d9e9123d764a..c0dc2454b3b977bce716ade9605b438ef8730b65 100644
Binary files a/src/bgpls_speaker/service/java/bgp_ls.jar and b/src/bgpls_speaker/service/java/bgp_ls.jar differ
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/grpc/grpcClient.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/grpc/grpcClient.java
index 1d360c870b4d93153f21df292f96c1a8ceca46aa..a4720e77c1f226c8c3d97fca5e827d13e3b453df 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/grpc/grpcClient.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/grpc/grpcClient.java
@@ -39,19 +39,21 @@ public class grpcClient {
 		nodeInfo n=null;
 		linkInfo unic=null;
 		List <linkInfo> l = new ArrayList<>();
-		if(update.getNode()==null && update.linkCheck()==false){
+		List <nodeInfo> nodes = new ArrayList<>();
+		if(update.nodeCheck()==false && update.linkCheck()==false){
 			return;
 		}
 //		Build node for grpc message
-		if(update.getNode()!=null) {		
-
-				n = nodeInfo.newBuilder().setNodeName(update.getNode().getNodeName()).
-						setIgpID(update.getNode().getRouterID()).
-						setBgplsID(update.getNode().getLocalBgplsID()).
-						setAsID(InetAddresses.coerceToInteger(update.getNode().getAs_number())).
-						setLearntFrom(update.getNode().getLearntFrom()).
+		if(update.nodeCheck()!=false) {		
+			for(NodeNLRIMsg node : update.getNodeList()){
+				n = nodeInfo.newBuilder().setNodeName(node.getNodeName()).
+						setIgpID(node.getRouterID()).
+						setBgplsID(node.getLocalBgplsID()).
+						setAsID(InetAddresses.coerceToInteger(node.getAs_number())).
+						setLearntFrom(node.getLearntFrom()).
 					buildPartial();
-				
+				nodes.add(n);
+			}
 		}
 		for(LinkNLRIMsg link : update.getLinkList()) {
 			
@@ -103,10 +105,10 @@ public class grpcClient {
 					setRemoteIPv4ID(ipv4R).
 					setLocal(NodeDescriptors.newBuilder().
 							setAsNumber(link.getLocalDomainID().toString()).
-							setBgplsID(link.localIGPID())).
+							setBgplsID(link.getLocalBgplsID())).
 					setRemote(NodeDescriptors.newBuilder().
 							setAsNumber(link.getRemoteDomainID().toString()).
-							setBgplsID(link.remoteIGPID())).
+							setBgplsID(link.getRemoteBgplsID())).
 					setAvailableBw(link.getAvailableBw()).
 					setResidualBw(link.getResidualBw()).setUtilized(link.getUtilizedBw()).
 					setMinLinkDelay(link.getMinDelay()).setMaxLinkDelay(link.getMaxDelay()).
@@ -116,18 +118,18 @@ public class grpcClient {
 			l.add(unic);
 		} 
 		
-		if(n==null && l.size()>0) {
+		if(nodes.size()==0 && l.size()>0) {
 			request=updateRequest.newBuilder().
 					setNextHop(update.getNextHop().toString()).
 					setAddressFamilyID(Integer.toString(update.getAFI())).
 					setAsPathSegment(Integer.toString(update.getAsPathSegment())).
 					addAllLink(l).build();
-		}else if(n!=null&& l.size()==0) {
+		}else if(nodes.size()>0&& l.size()==0) {
 			request=updateRequest.newBuilder().
 					setNextHop(update.getNextHop().toString()).
 					setAddressFamilyID(Integer.toString(update.getAFI())).
 					setAsPathSegment(Integer.toString(update.getAsPathSegment())).
-					addNode(n).build();
+					addAllNode(nodes).build();
 		}else {
 			//Error if node name is null 
 			// TODO: handle seng grpc error?
@@ -135,7 +137,7 @@ public class grpcClient {
 					setNextHop("-"+update.getNextHop().toString()).
 					setAddressFamilyID(Integer.toString(update.getAFI())).
 					setAsPathSegment(Integer.toString(update.getAsPathSegment())).
-					addNode(n).addAllLink(l).build();
+					addAllNode(nodes).addAllLink(l).build();
 			
 		}
 		final ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost",2021).usePlaintext().build();