diff --git a/nucleus/nucleus-core.go b/nucleus/nucleus-core.go
index 5df7e06e4bc636360acab367cb2edfd82702e4ce..2c65edf25218f73c6b542dfcffae844077c38b06 100644
--- a/nucleus/nucleus-core.go
+++ b/nucleus/nucleus-core.go
@@ -58,7 +58,7 @@ func StartUp(socket, filename string) {
 	log.Info("Starting my ducks")
 	// Init the Core
 	core := Core{
-		clients:  make(map[string]interfaces.Client, 0),
+		clients:  make(map[string]interfaces.Client),
 		database: database.Database{},
 	}
 	core.Init(socket, filename)
diff --git a/restconf/client/ciena/client.go b/restconf/client/ciena/client.go
index 100ab056bf6e90ecb2bf991f8727460382ad140e..9b3738e7e692b232359ef1a2ce418c60b622b5ff 100644
--- a/restconf/client/ciena/client.go
+++ b/restconf/client/ciena/client.go
@@ -1,7 +1,9 @@
 package ciena
 
 import (
+	"bytes"
 	"code.fbi.h-da.de/cocsn/gosdn/database"
+	"code.fbi.h-da.de/cocsn/gosdn/log"
 	"code.fbi.h-da.de/cocsn/gosdn/restconf/util"
 	apiclient "code.fbi.h-da.de/cocsn/swagger/apis/mcp/client"
 	"crypto/tls"
@@ -16,7 +18,7 @@ type MCPClient struct {
 	transport *httptransport.Runtime
 	client    *apiclient.ServiceTopologyTAPI
 	database  *database.Database
-	buf       *[]byte
+	buffer    *bytes.Buffer
 }
 
 func (c MCPClient) GetConfig() string {
@@ -25,7 +27,7 @@ func (c MCPClient) GetConfig() string {
 }
 
 //NewMCPClient creates a client
-func NewMCPClient(endpoint, username, password string, database *database.Database) MCPClient {
+func NewMCPClient(endpoint, username, password string, database *database.Database) *MCPClient {
 	// create the transport
 	transport := httptransport.New(endpoint, "/", nil)
 	transport.Transport.(*http.Transport).TLSClientConfig = &tls.Config{InsecureSkipVerify: true}
@@ -36,37 +38,37 @@ func NewMCPClient(endpoint, username, password string, database *database.Databa
 	transport.DefaultAuthentication = basicAuth
 	client := apiclient.New(transport, strfmt.Default)
 
-	buf := make([]byte, 0)
-	transport.Consumers[runtime.JSONMime] = util.YANGConsumer{Data: &buf}
+	buffer := new(bytes.Buffer)
+	transport.Consumers[runtime.JSONMime] = util.YANGConsumer{Data: buffer}
 
-	return MCPClient{
+	return &MCPClient{
 		transport: transport,
 		client:    client,
-		database: database,
-		buf:       &buf,
+		database:  database,
+		buffer:    buffer,
 	}
 }
 
 func (c *MCPClient) GetConnections() error {
-	c.buf = nil
+	defer c.buffer.Reset()
 	_, err := c.client.TapiConnectivityCore.GetTapiCoreContextConnection(nil)
-	c.database.StoreConnections(string(*c.buf))
-	c.buf = nil
+	c.database.StoreConnections(c.buffer.String())
+	log.Debug(c.buffer.String())
 	return err
 }
 
 func (c *MCPClient) GetNodes() error {
-	c.buf = nil
+	defer c.buffer.Reset()
 	_, err := c.client.TapiTopologyCore.GetTapiCoreContextTopologyMcpBaseTopologyNode(nil)
-	c.database.StoreNodes(string(*c.buf))
-	c.buf = nil
+	c.database.StoreNodes(c.buffer.String())
+	log.Debug(c.buffer.String())
 	return err
 }
 
 func (c *MCPClient) GetNodeEdgePoints() error {
-	c.buf = nil
+	defer c.buffer.Reset()
 	_, err := c.client.TapiTopologyCore.GetTapiCoreContextTopologyMcpBaseTopologyNodeEdgePoint(nil)
-	c.database.StoreNodeEdgePoints(string(*c.buf))
-	c.buf = nil
+	c.database.StoreNodeEdgePoints(c.buffer.String())
+	log.Debug(c.buffer.String())
 	return err
 }
diff --git a/restconf/util/unmarshal.go b/restconf/util/unmarshal.go
index b044bd09ceb2385a7087850ed2c322db8ce4634c..2386eec8e18bc61e08b71fc7cc782ebe9318bb06 100644
--- a/restconf/util/unmarshal.go
+++ b/restconf/util/unmarshal.go
@@ -1,16 +1,15 @@
 package util
 
 import (
+	"bytes"
 	"io"
-	"io/ioutil"
 )
 
 type YANGConsumer struct {
-	Data *[]byte
+	Data *bytes.Buffer
 }
 
 func (yc YANGConsumer)Consume(reader io.Reader, _ interface{}) error {
-	var err error = nil
-	*yc.Data, err = ioutil.ReadAll(reader)
+	_,err := yc.Data.ReadFrom(reader)
 	return err
 }