diff --git a/controller/nucleus/networkElement.go b/controller/nucleus/networkElement.go
index 30abfb4584d0768080aa3ad6271bcb6e2c66df90..6546007778ca4852b3cebc7e40970cca094d6bdc 100644
--- a/controller/nucleus/networkElement.go
+++ b/controller/nucleus/networkElement.go
@@ -178,7 +178,7 @@ func (d *CsbiNetworkElement) GetModel() ([]byte, error) {
 
 // GetModelAsFilteredCopy returns the ygot representation of the Network
 // Element, but as copy with read-only fields removed.
-// TODO: extend plugin to provide a filtered copy of the model
+// TODO: extend plugin to provide a filtered copy of the model.
 func (n *CsbiNetworkElement) GetModelAsFilteredCopy() (ygot.GoStruct, error) {
 	//filteredModelCopy, err := createFilteredCopy(n)
 	//if err != nil {
@@ -345,12 +345,13 @@ func (d *CommonNetworkElement) GetModelAsString() (string, error) {
 	return string(byteModel), err
 }
 
-func (n *CommonNetworkElement) getYgotEmitJSONConfig() *ygot.EmitJSONConfig {
-	return &ygot.EmitJSONConfig{
-		Format:         ygot.RFC7951,
-		Indent:         "",
-		SkipValidation: true,
-		RFC7951Config: &ygot.RFC7951JSONConfig{
-			AppendModuleName: true,
-		}}
-}
+//TODO: check if this can be removed
+//func (n *CommonNetworkElement) getYgotEmitJSONConfig() *ygot.EmitJSONConfig {
+//	return &ygot.EmitJSONConfig{
+//		Format:         ygot.RFC7951,
+//		Indent:         "",
+//		SkipValidation: true,
+//		RFC7951Config: &ygot.RFC7951JSONConfig{
+//			AppendModuleName: true,
+//		}}
+//}
diff --git a/controller/nucleus/principalNetworkDomain.go b/controller/nucleus/principalNetworkDomain.go
index c2afd7b55a523a43ad6faeda80bb8bfb74b6f215..a4db24b601ff7a67b32ff972517fd2281cd6baa0 100644
--- a/controller/nucleus/principalNetworkDomain.go
+++ b/controller/nucleus/principalNetworkDomain.go
@@ -15,7 +15,6 @@ import (
 	"code.fbi.h-da.de/danet/gosdn/controller/nucleus/types"
 	"code.fbi.h-da.de/danet/gosdn/controller/nucleus/util"
 	"go.mongodb.org/mongo-driver/bson"
-	"golang.org/x/sync/errgroup"
 
 	cpb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/csbi"
 	rpb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/plugin-registry"
@@ -462,7 +461,6 @@ func (pnd *pndImplementation) ensureIntendedConfigurationIsAppliedOnNetworkEleme
 // ChangeMNE creates a change from the provided Operation, path and value.
 // The Change is Pending and times out after the specified timeout period.
 func (pnd *pndImplementation) ChangeMNE(duid uuid.UUID, operation ppb.ApiOperation, path string, value ...string) (uuid.UUID, error) {
-
 	mne, err := pnd.networkElementService.Get(store.Query{
 		ID: duid,
 	})
@@ -613,130 +611,132 @@ func (pnd *pndImplementation) handleCsbiDeletion(mne networkelement.NetworkEleme
 	return nil
 }
 
-func (pnd *pndImplementation) handleCsbiEnrolment(name string, opt *tpb.TransportOption) (uuid.UUID, error) {
-	g := new(errgroup.Group)
-	ctx, cancel := context.WithTimeout(context.Background(), time.Minute*5)
-	defer cancel()
-	req := &cpb.CreateRequest{
-		Timestamp:       time.Now().UnixNano(),
-		TransportOption: []*tpb.TransportOption{opt},
-	}
-	resp, err := pnd.csbiClient.Create(ctx, req)
-	if err != nil {
-		return uuid.Nil, err
-	}
-	// the slice only contains one deployment
-	var mneID uuid.UUID
-	for _, deployment := range resp.Deployments {
-		dCopy := deployment
-		g.Go(func() error {
-			mneID, err = pnd.createCsbiNetworkElement(ctx, name, dCopy, opt)
-			if err != nil {
-				return err
-			}
-			return nil
-		})
-	}
-	err = g.Wait()
-	if err != nil {
-		return uuid.Nil, err
-	}
-
-	return mneID, nil
-}
-
+//TODO: can probably be removed
+//func (pnd *pndImplementation) handleCsbiEnrolment(name string, opt *tpb.TransportOption) (uuid.UUID, error) {
+//	g := new(errgroup.Group)
+//	ctx, cancel := context.WithTimeout(context.Background(), time.Minute*5)
+//	defer cancel()
+//	req := &cpb.CreateRequest{
+//		Timestamp:       time.Now().UnixNano(),
+//		TransportOption: []*tpb.TransportOption{opt},
+//	}
+//	resp, err := pnd.csbiClient.Create(ctx, req)
+//	if err != nil {
+//		return uuid.Nil, err
+//	}
+//	// the slice only contains one deployment
+//	var mneID uuid.UUID
+//	for _, deployment := range resp.Deployments {
+//		dCopy := deployment
+//		g.Go(func() error {
+//			mneID, err = pnd.createCsbiNetworkElement(ctx, name, dCopy, opt)
+//			if err != nil {
+//				return err
+//			}
+//			return nil
+//		})
+//	}
+//	err = g.Wait()
+//	if err != nil {
+//		return uuid.Nil, err
+//	}
+//
+//	return mneID, nil
+//}
+
+//TODO: can probably be removed
 // createCsbiNetworkElement is a helper method for cSBI network element creation. The method
 // waits for a SYN (which indicates that the cSBI is running and addressable)
 // of the commissioned cSBI and creates the network element within the controller.
-func (pnd *pndImplementation) createCsbiNetworkElement(
-	ctx context.Context,
-	name string,
-	deployment *cpb.Deployment,
-	opt *tpb.TransportOption,
-) (uuid.UUID, error) {
-	//id, err := uuid.Parse(deployment.Id)
-	//if err != nil {
-	//	return uuid.Nil, err
-	//}
-	//ch := make(chan networkelement.Details, 1)
-	//pnd.callback(id, ch)
-	//defer pnd.callback(id, nil)
-	//defer close(ch)
-	//tickatus := time.NewTicker(time.Minute * 1)
-	//defer tickatus.Stop()
-	//select {
-	//case <-tickatus.C:
-	//	log.WithFields(log.Fields{
-	//		"id":  deployment.Id,
-	//		"err": ctx.Err(),
-	//	}).Error("csbi handshake timed out")
-	//case mneDetails := <-ch:
-	//	log.Infof("syn from csbi %v", mneDetails.ID)
-	//	id, err := uuid.Parse(mneDetails.ID)
-	//	if err != nil {
-	//		return uuid.Nil, err
-	//	}
-	//	csbiTransportOptions := &tpb.TransportOption{
-	//		Address:         mneDetails.Address,
-	//		Username:        opt.Username,
-	//		Password:        opt.Password,
-	//		Tls:             opt.Tls,
-	//		Type:            opt.Type,
-	//		TransportOption: opt.TransportOption,
-	//	}
-	//	log.WithField("transport option", csbiTransportOptions).Debug("gosdn gnmi transport options")
-	//
-	//	files := []string{util.GoStructName, util.ManifestFileName, util.GoStructAdditionsName}
-	//	csbiID := uuid.New()
-	//	ctx, cancel := context.WithTimeout(context.Background(), time.Minute*10)
-	//	defer cancel()
-	//
-	//	g := new(errgroup.Group)
-	//	for _, f := range files {
-	//		req := &cpb.GetPayloadRequest{
-	//			Timestamp: time.Now().UnixNano(),
-	//			Did:       deployment.Id,
-	//			File:      f,
-	//		}
-	//		g.Go(func() error {
-	//			gClient, err := pnd.csbiClient.GetFile(ctx, req)
-	//			if err != nil {
-	//				return err
-	//			}
-	//			err = saveStreamToFile(gClient, req.GetFile(), csbiID)
-	//			if err != nil {
-	//				return err
-	//			}
-	//			return nil
-	//		})
-	//	}
-	//
-	//	err = g.Wait()
-	//	if err != nil {
-	//		return uuid.Nil, err
-	//	}
-	//
-	//	csbi, err := NewSBI(spb.Type_TYPE_CONTAINERISED, csbiID)
-	//	if err != nil {
-	//		return uuid.Nil, err
-	//	}
-	//	err = pnd.southboundService.Add(csbi)
-	//	if err != nil {
-	//		return uuid.Nil, err
-	//	}
-	//	mne, err := NewNetworkElement(name, uuid.Nil, csbiTransportOptions, csbi, conflict.Metadata{ResourceVersion: 0})
-	//	if err != nil {
-	//		return uuid.Nil, err
-	//	}
-	//	mne.(*CsbiNetworkElement).UUID = id
-	//	ch <- networkelement.Details{TransportOption: opt}
-	//	if err := pnd.networkElementService.Add(mne); err != nil {
-	//		return uuid.Nil, err
-	//	}
-	//	return id, nil
-	//}
-	return uuid.Nil, nil
-}
+//func (pnd *pndImplementation) createCsbiNetworkElement(
+//	ctx context.Context,
+//	name string,
+//	deployment *cpb.Deployment,
+//	opt *tpb.TransportOption,
+//) (uuid.UUID, error) {
+//	//id, err := uuid.Parse(deployment.Id)
+//	//if err != nil {
+//	//	return uuid.Nil, err
+//	//}
+//	//ch := make(chan networkelement.Details, 1)
+//	//pnd.callback(id, ch)
+//	//defer pnd.callback(id, nil)
+//	//defer close(ch)
+//	//tickatus := time.NewTicker(time.Minute * 1)
+//	//defer tickatus.Stop()
+//	//select {
+//	//case <-tickatus.C:
+//	//	log.WithFields(log.Fields{
+//	//		"id":  deployment.Id,
+//	//		"err": ctx.Err(),
+//	//	}).Error("csbi handshake timed out")
+//	//case mneDetails := <-ch:
+//	//	log.Infof("syn from csbi %v", mneDetails.ID)
+//	//	id, err := uuid.Parse(mneDetails.ID)
+//	//	if err != nil {
+//	//		return uuid.Nil, err
+//	//	}
+//	//	csbiTransportOptions := &tpb.TransportOption{
+//	//		Address:         mneDetails.Address,
+//	//		Username:        opt.Username,
+//	//		Password:        opt.Password,
+//	//		Tls:             opt.Tls,
+//	//		Type:            opt.Type,
+//	//		TransportOption: opt.TransportOption,
+//	//	}
+//	//	log.WithField("transport option", csbiTransportOptions).Debug("gosdn gnmi transport options")
+//	//
+//	//	files := []string{util.GoStructName, util.ManifestFileName, util.GoStructAdditionsName}
+//	//	csbiID := uuid.New()
+//	//	ctx, cancel := context.WithTimeout(context.Background(), time.Minute*10)
+//	//	defer cancel()
+//	//
+//	//	g := new(errgroup.Group)
+//	//	for _, f := range files {
+//	//		req := &cpb.GetPayloadRequest{
+//	//			Timestamp: time.Now().UnixNano(),
+//	//			Did:       deployment.Id,
+//	//			File:      f,
+//	//		}
+//	//		g.Go(func() error {
+//	//			gClient, err := pnd.csbiClient.GetFile(ctx, req)
+//	//			if err != nil {
+//	//				return err
+//	//			}
+//	//			err = saveStreamToFile(gClient, req.GetFile(), csbiID)
+//	//			if err != nil {
+//	//				return err
+//	//			}
+//	//			return nil
+//	//		})
+//	//	}
+//	//
+//	//	err = g.Wait()
+//	//	if err != nil {
+//	//		return uuid.Nil, err
+//	//	}
+//	//
+//	//	csbi, err := NewSBI(spb.Type_TYPE_CONTAINERISED, csbiID)
+//	//	if err != nil {
+//	//		return uuid.Nil, err
+//	//	}
+//	//	err = pnd.southboundService.Add(csbi)
+//	//	if err != nil {
+//	//		return uuid.Nil, err
+//	//	}
+//	//	mne, err := NewNetworkElement(name, uuid.Nil, csbiTransportOptions, csbi, conflict.Metadata{ResourceVersion: 0})
+//	//	if err != nil {
+//	//		return uuid.Nil, err
+//	//	}
+//	//	mne.(*CsbiNetworkElement).UUID = id
+//	//	ch <- networkelement.Details{TransportOption: opt}
+//	//	if err := pnd.networkElementService.Add(mne); err != nil {
+//	//		return uuid.Nil, err
+//	//	}
+//	//	return id, nil
+//	//}
+//	return uuid.Nil, nil
+//}
 
 // TODO: update
 // requestPlugin request a plugin from the plugin-registry.
diff --git a/controller/nucleus/principalNetworkDomain_test.go b/controller/nucleus/principalNetworkDomain_test.go
index ab3626fb1b72024f55791c7e5ae3b1e7fe5a2f24..2528e48072282a4547a140e00467bac6e4750c05 100644
--- a/controller/nucleus/principalNetworkDomain_test.go
+++ b/controller/nucleus/principalNetworkDomain_test.go
@@ -526,7 +526,6 @@ func Test_pndImplementation_RequestAll(t *testing.T) {
 //}
 
 func Test_pndImplementation_GetNetworkElement(t *testing.T) {
-
 	pnd := newPnd()
 
 	mne := mockNetworkElement()
diff --git a/controller/plugin/shared/grpc.go b/controller/plugin/shared/grpc.go
index d00fe5055838b6a992a09ae1ad815051917f8417..46dbf1e60b2fa1c1e5262f12b9d91a397adfc389 100644
--- a/controller/plugin/shared/grpc.go
+++ b/controller/plugin/shared/grpc.go
@@ -165,7 +165,6 @@ func (m *DeviceModelServer) ValidateChange(
 func (m *DeviceModelServer) SchemaTreeGzip(
 	req *pb.SchemaTreeGzipRequest,
 	stream pb.Plugin_SchemaTreeGzipServer) error {
-
 	buffer := make([]byte, int(MB))
 	schema, err := m.Impl.SchemaTreeGzip()
 	if err != nil {
diff --git a/plugin-registry/server.go b/plugin-registry/server.go
index d1c5d614dcc68bc2826c88b779e5c71659771262..9ab9bdeabbf48c2e84580ab50667d5436277523f 100644
--- a/plugin-registry/server.go
+++ b/plugin-registry/server.go
@@ -64,7 +64,6 @@ func (s *Server) Get(ctx context.Context, req *pb.GetRequest) (*pb.GetResponse,
 }
 
 func (s *Server) GetAll(ctx context.Context, req *pb.GetAllRequest) (*pb.GetResponse, error) {
-
 	pluginResultSlice := make([]*pb.Plugin, 0)
 	for _, plugin := range s.registry.Plugins {
 		pluginResultSlice = append(pluginResultSlice, pluginConverter(plugin))
@@ -121,6 +120,7 @@ func (s *Server) Download(req *pb.GetDownloadRequest, stream pb.PluginRegistrySe
 	return nil
 }
 
+// Delete removes a plugin from the plugin registry.
 func (s *Server) Delete(ctx context.Context, req *pb.DeleteRequest) (*pb.DeleteResponse, error) {
-	return nil, nil
+	return nil, status.Error(codes.Unimplemented, "The delete method is currently not implemented.")
 }
diff --git a/plugins/sdk/deviceModel.go b/plugins/sdk/deviceModel.go
index 218233b52164a21cd1593686959d430e816d17b6..21a35967ea294bdb3fed1c6e7370244a7a92bb92 100644
--- a/plugins/sdk/deviceModel.go
+++ b/plugins/sdk/deviceModel.go
@@ -29,7 +29,6 @@ func NewDeviceModel(generatedSchemaFn func() (*ytypes.Schema, error), generatedU
 	schema, err := generatedSchemaFn()
 	if err != nil {
 		return nil, err
-
 	}
 
 	validatedCopy, err := createValidatedCopy(schema.Root)
@@ -177,8 +176,12 @@ func (d *DeviceModel) Diff(original, modified []byte) (*gpb.Notification, error)
 	}
 
 	//TODO: This should be changed to be optional
-	ygot.PruneConfigFalse(d.schema.RootSchema(), originalAsValidatedCopy)
-	ygot.PruneConfigFalse(d.schema.RootSchema(), modifiedAsValidatedCopy)
+	if err := ygot.PruneConfigFalse(d.schema.RootSchema(), originalAsValidatedCopy); err != nil {
+		return nil, err
+	}
+	if err := ygot.PruneConfigFalse(d.schema.RootSchema(), modifiedAsValidatedCopy); err != nil {
+		return nil, err
+	}
 
 	return ygot.Diff(originalAsValidatedCopy, modifiedAsValidatedCopy)
 }