diff --git a/controller/northbound/server/configurationmanagement.go b/controller/northbound/server/configurationmanagement.go
index 09b7f5b1d1da81defa8ca0696cb37c836bd35ac4..72c4c9547efd51d656bc0f883409906ff9df6645 100644
--- a/controller/northbound/server/configurationmanagement.go
+++ b/controller/northbound/server/configurationmanagement.go
@@ -117,20 +117,30 @@ func (c ConfigurationManagementServer) ImportSDNConfig(ctx context.Context, requ
 	//TODO: Clear DB
 
 	//Create all elements
+	c.createElements(&sdnConfig, request)
+	if err != nil {
+		return nil, err
+	}
+
+	return &cmpb.ImportSDNConfigResponse{
+		Timestamp: time.Now().UnixNano()}, nil
+}
+
+func (c ConfigurationManagementServer) createElements(sdnConfig *loadedSDNConfig, request *cmpb.ImportSDNConfigRequest) error {
 	pndUUID := uuid.MustParse(request.Pid)
 	pnd, err := c.pndStore.Get(store.Query{ID: pndUUID})
 	if err != nil {
-		return nil, err
+		return err
 	}
 
 	for _, inputSBI := range sdnConfig.Sbis {
 		sbi, err := nucleus.NewSBI(inputSBI.Type, uuid.MustParse(inputSBI.ID))
 		if err != nil {
-			return nil, err
+			return err
 		}
 		err = pnd.AddSbi(sbi)
 		if err != nil {
-			return nil, err
+			return err
 		}
 	}
 
@@ -141,7 +151,7 @@ func (c ConfigurationManagementServer) ImportSDNConfig(ctx context.Context, requ
 		}
 		_, err = c.nodeService.EnsureExists(node)
 		if err != nil {
-			return nil, err
+			return err
 		}
 	}
 
@@ -153,26 +163,26 @@ func (c ConfigurationManagementServer) ImportSDNConfig(ctx context.Context, requ
 		}
 		_, err = c.portService.EnsureExists(port)
 		if err != nil {
-			return nil, err
+			return err
 		}
 	}
 
 	for _, inputPort := range sdnConfig.Links {
 		sourceNode, err := c.nodeService.Get(store.Query{ID: inputPort.SourceNode.ID})
 		if err != nil {
-			return nil, err
+			return err
 		}
 		targetNode, err := c.nodeService.Get(store.Query{ID: inputPort.TargetNode.ID})
 		if err != nil {
-			return nil, err
+			return err
 		}
 		sourcePort, err := c.portService.Get(store.Query{ID: inputPort.SourcePort.ID})
 		if err != nil {
-			return nil, err
+			return err
 		}
 		targetPort, err := c.portService.Get(store.Query{ID: inputPort.TargetPort.ID})
 		if err != nil {
-			return nil, err
+			return err
 		}
 		link := links.Link{
 			ID:         inputPort.ID,
@@ -184,7 +194,7 @@ func (c ConfigurationManagementServer) ImportSDNConfig(ctx context.Context, requ
 		}
 		err = c.topologyService.AddLink(link)
 		if err != nil {
-			return nil, err
+			return err
 		}
 	}
 
@@ -205,21 +215,18 @@ func (c ConfigurationManagementServer) ImportSDNConfig(ctx context.Context, requ
 			uuid.MustParse(inputNetworkElement.ID),
 		)
 		if err != nil {
-			return nil, err
+			return err
 		}
 
 		networkelement, err := pnd.GetNetworkElement(inputNetworkElement.ID)
 		if err != nil {
-			return nil, err
+			return err
 		}
 
 		err = pnd.UpdateNetworkElement(networkelement, inputNetworkElement.Model)
 		if err != nil {
-			return nil, err
+			return err
 		}
-
 	}
-
-	return &cmpb.ImportSDNConfigResponse{
-		Timestamp: time.Now().UnixNano()}, nil
+	return nil
 }
diff --git a/controller/nucleus/principalNetworkDomain.go b/controller/nucleus/principalNetworkDomain.go
index b66918bd01e086928c863fd593c0ba4cf84a3fc1..944278f71b95c7902858d5bcdcc102c499f507fe 100644
--- a/controller/nucleus/principalNetworkDomain.go
+++ b/controller/nucleus/principalNetworkDomain.go
@@ -245,7 +245,7 @@ func (pnd *pndImplementation) RemoveSbi(sid uuid.UUID) error {
 	return pnd.removeSbi(sid)
 }
 
-// AddNetworkElement adds a new network element to the PND. The UUID for the networkElementID is optional and should normally be empty
+// AddNetworkElement adds a new network element to the PND. The UUID for the networkElementID is optional and should normally be empty.
 func (pnd *pndImplementation) AddNetworkElement(name string, opt *tpb.TransportOption, sid uuid.UUID, optionalNetworkElementID ...uuid.UUID) (uuid.UUID, error) {
 	networkElementID := uuid.Nil
 	if len(optionalNetworkElementID) > 0 {