diff --git a/nucleus/cli-handling.go b/nucleus/cli-handling.go
index 86392b8214c5d3c71ad2a9987ac02c776ba04dac..c0bce2a5d7f3d8ddfe0bf140174bf882e93b114d 100644
--- a/nucleus/cli-handling.go
+++ b/nucleus/cli-handling.go
@@ -12,7 +12,7 @@ import (
 	"code.fbi.h-da.de/cocsn/gosdn/restconf/client/ciena"
 	"context"
 	"google.golang.org/grpc"
-	"log"
+	"code.fbi.h-da.de/cocsn/gosdn/log"
 	"net"
 )
 
@@ -23,48 +23,54 @@ type server struct {
 }
 
 func (s *server) SayHello(ctx context.Context, in *pb.HelloRequest) (*pb.HelloReply, error) {
-	log.Printf("Received: %v", in.GetName())
+	log.Info("Received: %v", in.GetName())
 		return &pb.HelloReply{Message: "Hello " + in.GetName(), GoSDNInfo: "goSDN in version: DEVELOP"}, nil
 }
 
 func (s *server) Shutdown(ctx context.Context, in *pb.ShutdownRequest) (*pb.ShutdownReply, error) {
-	log.Printf("Received: %v", in.GetName())
+	log.Info("Received: %v", in.GetName())
 	isRunning = false
 	return &pb.ShutdownReply{Message: "Shutdown " + in.GetName()}, nil
 }
 
 func getCLIGoing(core *Core) {
-	log.Println("Starting: GetCLIGoing")
+	log.Info("Starting: GetCLIGoing")
 	// Boot-up the control interface for the cli
 	cliControlListener, err := net.Listen("tcp", core.config.CliSocket)
 	if err != nil {
-		log.Fatalf("failed to listen: %v", err)
+		log.Fatal("failed to listen: %v", err)
 	}
 
 	cliControlServer := grpc.NewServer()
 
 	pb.RegisterGrpcCliServer(cliControlServer, &server{core: core})
 	if err := cliControlServer.Serve(cliControlListener); err != nil {
-		log.Fatalf("failed to serve: %v", err)
+		log.Fatal("failed to serve: %v", err)
 	}
-	log.Println("Started: GetCLIGoing")
+	log.Info("Started: GetCLIGoing")
 }
 
 // SBI specific calls, by now TAPI only
 func (s *server) TAPIGetEdge(ctx context.Context, in *pb.TAPIRequest) (*pb.TAPIReply, error) {
-	log.Printf("Received: %v", in.GetName())
-	s.core.clients["ciena-mcp"].(*ciena.MCPClient).GetNodes()
+	log.Info("Received: %v", in.GetName())
+	if err := s.core.clients["ciena-mcp"].(*ciena.MCPClient).GetNodes(); err != nil {
+		log.Error(err)
+	}
 	return &pb.TAPIReply{Message: "Done"}, nil
 }
 
 func (s *server) TAPIGetEdgeNode(ctx context.Context, in *pb.TAPIRequest) (*pb.TAPIReply, error) {
-	log.Printf("Received: %v", in.GetName())
-	s.core.clients["ciena-mcp"].(*ciena.MCPClient).GetNodeEdgePoints()
+	log.Info("Received: %v", in.GetName())
+	if err := s.core.clients["ciena-mcp"].(*ciena.MCPClient).GetNodeEdgePoints(); err != nil {
+		log.Error(err)
+	}
 	return &pb.TAPIReply{Message: "Done"}, nil
 }
 
 func (s *server) TAPIGetLink(ctx context.Context, in *pb.TAPIRequest) (*pb.TAPIReply, error) {
-	log.Printf("Received: %v", in.GetName())
-	s.core.clients["ciena-mcp"].(*ciena.MCPClient).GetConnections()
+	log.Info("Received: %v", in.GetName())
+	if err := s.core.clients["ciena-mcp"].(*ciena.MCPClient).GetLinks(); err != nil {
+		log.Error(err)
+	}
 	return &pb.TAPIReply{Message: "Done"}, nil
 }
diff --git a/restconf/client/ciena/client.go b/restconf/client/ciena/client.go
index cb514e37a39720734a94f29763a54eda9b821e2f..a4d09fd944da93599918329f932daa588d82a0d3 100644
--- a/restconf/client/ciena/client.go
+++ b/restconf/client/ciena/client.go
@@ -57,6 +57,14 @@ func (c *MCPClient) GetConnections() error {
 	return err
 }
 
+func (c *MCPClient) GetLinks() error {
+	defer c.buffer.Reset()
+	_, err := c.client.TapiTopologyCore.GetTapiCoreContextTopologyMcpBaseTopologyLink(nil)
+	c.database.StoreConnections(c.buffer.String())
+	log.Debug(c.buffer.Next(25))
+	return err
+}
+
 func (c *MCPClient) GetNodes() error {
 	defer c.buffer.Reset()
 	_, err := c.client.TapiTopologyCore.GetTapiCoreContextTopologyMcpBaseTopologyNode(nil)