diff --git a/controller/api/initialise_test.go b/controller/api/initialise_test.go
index a292d57ad5cd3f3284b95dc7dd163b87632dfb62..572a9baafe5aef6cfcbeab0e5ec947c50637684d 100644
--- a/controller/api/initialise_test.go
+++ b/controller/api/initialise_test.go
@@ -210,7 +210,7 @@ func bootstrapUnitTest() {
 	pndService := &mocks.PndService{}
 	pndService.On("GetAll").Return([]networkdomain.NetworkDomain{}, nil)
 	pndService.On("Add", mock.Anything).Return(nil)
-	pndService.On("Get", mock.Anything).Return(nucleus.NewPNDEntity(pndUUID, "test", "test"), nil)
+	pndService.On("Get", mock.Anything).Return(nucleus.NewPND(pndUUID, "test", "test"), nil)
 
 	changeStore := *store.NewChangeStore()
 	err = changeStore.Add(mockChange)
diff --git a/controller/controller.go b/controller/controller.go
index 7120383243706eecc6a6e80c00c84520d517757b..78c14d1bcbd4349a1c930c80edc53e05311d75b3 100644
--- a/controller/controller.go
+++ b/controller/controller.go
@@ -254,17 +254,13 @@ func createPrincipalNetworkDomain() error {
 	}
 
 	if basePnd == nil {
-		pnd, err := nucleus.NewPND(
+		pnd := nucleus.NewPND(
+			config.BasePndUUID,
 			"base",
 			"gosdn base pnd",
-			config.BasePndUUID,
-			c.csbiClient,
-			c.pluginService,
-			callback,
+			//c.csbiClient,
+			//callback,
 		)
-		if err != nil {
-			return err
-		}
 		err = c.pndStore.Add(pnd)
 		if err != nil {
 			return err
diff --git a/controller/northbound/server/auth_interceptor_test.go b/controller/northbound/server/auth_interceptor_test.go
index c8edbba1954eaeab3ac3139c5c40a3adb3ea3e4e..f70efd42454171e0cf4633d2566add5ef2771610 100644
--- a/controller/northbound/server/auth_interceptor_test.go
+++ b/controller/northbound/server/auth_interceptor_test.go
@@ -43,7 +43,7 @@ func getTestAuthInterceptorServer(t *testing.T) (*AuthInterceptor, *UserServer,
 	pndStore := nucleus.NewMemoryPndStore()
 	pndService := nucleus.NewPndService(pndStore)
 
-	pnd := nucleus.NewPNDEntity(pndUUID, "test", "test")
+	pnd := nucleus.NewPND(pndUUID, "test", "test")
 
 	if err := pndService.Add(pnd); err != nil {
 		t.Fatal(err)
diff --git a/controller/northbound/server/core.go b/controller/northbound/server/core.go
index 5ab15b9b4aef3740a11f03beebf4f542c52328df..ce68739377b637539ecee996f08b3365c143a8de 100644
--- a/controller/northbound/server/core.go
+++ b/controller/northbound/server/core.go
@@ -95,10 +95,8 @@ func (s CoreServer) CreatePndList(ctx context.Context, request *pb.CreatePndList
 	start := metrics.StartHook(labels, grpcRequestsTotal)
 	defer metrics.FinishHook(labels, start, grpcRequestDurationSecondsTotal, grpcRequestDurationSeconds)
 	for _, r := range request.Pnd {
-		pnd, err := nucleus.NewPND(r.Name, r.Description, uuid.New(), s.csbiClient, s.pluginService, s.pndCallbackFn)
-		if err != nil {
-			return nil, handleRPCError(labels, err)
-		}
+		pnd := nucleus.NewPND(uuid.New(), r.Name, r.Description) //, s.csbiClient, s.pndCallbackFn)
+
 		if err := s.pndService.Add(pnd); err != nil {
 			return nil, handleRPCError(labels, err)
 		}
diff --git a/controller/nucleus/pndFilesystemStore.go b/controller/nucleus/pndFilesystemStore.go
index de4b49674e4eb6ea5e2eb1e706a263750b911930..5b965128def39ce565585fcd24557ff1fb9990d9 100644
--- a/controller/nucleus/pndFilesystemStore.go
+++ b/controller/nucleus/pndFilesystemStore.go
@@ -56,19 +56,18 @@ func (t *FilesystemPndStore) readAllPndsFromFile() ([]networkdomain.LoadedPnd, e
 
 	pnds := make([]networkdomain.NetworkDomain, len(loadedPnds))
 
-	csbiClient, err := t.getCsbiClient()
-	if err != nil {
-		return nil, err
-	}
+	// csbiClient, err := t.getCsbiClient()
+	// if err != nil {
+	// 	return nil, err
+	// }
 
 	for i, loadedPND := range loadedPnds {
-		newPnd, err := NewPND(
+		newPnd := NewPND(
+			uuid.MustParse(loadedPND.ID),
 			loadedPND.Name,
 			loadedPND.Description,
-			uuid.MustParse(loadedPND.ID),
-			csbiClient,
-			t.pluginService,
-			t.callback,
+			//csbiClient,
+			//t.callback,
 		)
 		if err != nil {
 			return nil, err
diff --git a/controller/nucleus/pndFilesystemStore_test.go b/controller/nucleus/pndFilesystemStore_test.go
index 245054173f61deff7ea850040ef515a1ad66c968..613ef935bcb8b8662a8e363be9d04bb202ce83b5 100644
--- a/controller/nucleus/pndFilesystemStore_test.go
+++ b/controller/nucleus/pndFilesystemStore_test.go
@@ -15,7 +15,7 @@ func TestAddPnd(t *testing.T) {
 	pndStore := NewPndStore(pluginServiceMock)
 
 	pndID, _ := uuid.Parse("b4016412-eec5-45a1-aa29-f59915357bad")
-	pnd, _ := NewPND("testpnd", "test", pndID, nil, pluginServiceMock, nil)
+	pnd := NewPND(pndID, "testpnd", "test") //, pndID, nil, nil)
 
 	err := pndStore.Add(pnd)
 
@@ -31,8 +31,8 @@ func TestGetAllPnds(t *testing.T) {
 	pndStore := NewPndStore(pluginServiceMock)
 	pndID1, _ := uuid.Parse("b4016412-eec5-45a1-aa29-f59915357bad")
 	pndID2, _ := uuid.Parse("b4016412-eec5-45a1-aa29-f59915357bab")
-	pnd1, _ := NewPND("testpnd", "test", pndID1, nil, pluginServiceMock, nil)
-	pnd2, _ := NewPND("testpnd2", "test", pndID2, nil, pluginServiceMock, nil)
+	pnd1 := NewPND(pndID1, "testpnd", "test")  //, pndID1, nil, nil)
+	pnd2 := NewPND(pndID2, "testpnd2", "test") //, pndID2, nil, nil)
 
 	inputPnds := [2]networkdomain.NetworkDomain{pnd1, pnd2}
 
@@ -68,8 +68,8 @@ func TestGetPnd(t *testing.T) {
 	pndStore := NewPndStore(pluginServiceMock)
 	pndID1, _ := uuid.Parse("b4016412-eec5-45a1-aa29-f59915357bad")
 	pndID2, _ := uuid.Parse("b4016412-eec5-45a1-aa29-f59915357bab")
-	pnd1, _ := NewPND("testpnd", "test", pndID1, nil, pluginServiceMock, nil)
-	pnd2, _ := NewPND("testpnd2", "test", pndID2, nil, pluginServiceMock, nil)
+	pnd1 := NewPND(pndID1, "testpnd", "test")  //, pndID1, nil, nil)
+	pnd2 := NewPND(pndID2, "testpnd2", "test") //, pndID2, nil, nil)
 
 	inputPnds := [2]networkdomain.NetworkDomain{pnd1, pnd2}
 
@@ -103,8 +103,8 @@ func TestDeletePnd(t *testing.T) {
 	pndStore := NewPndStore(pluginServiceMock)
 	pndID1, _ := uuid.Parse("b4016412-eec5-45a1-aa29-f59915357bad")
 	pndID2, _ := uuid.Parse("b4016412-eec5-45a1-aa29-f59915357bab")
-	pnd1, _ := NewPND("testpnd", "test", pndID1, nil, pluginServiceMock, nil)
-	pnd2, _ := NewPND("testpnd2", "test", pndID2, nil, pluginServiceMock, nil)
+	pnd1 := NewPND(pndID1, "testpnd", "test")  //, pndID1, nil, nil)
+	pnd2 := NewPND(pndID2, "testpnd2", "test") //, pndID2, nil, nil)
 
 	inputPnds := [2]networkdomain.NetworkDomain{pnd1, pnd2}
 
diff --git a/controller/nucleus/pndService.go b/controller/nucleus/pndService.go
index ab581623256ce3d262a4e0a48ad3a49083032592..fc2124a87706f6f7bd3653d731aafdd7e8ab277b 100644
--- a/controller/nucleus/pndService.go
+++ b/controller/nucleus/pndService.go
@@ -67,5 +67,5 @@ func (p *PndService) GetAll() ([]networkdomain.NetworkDomain, error) {
 }
 
 func (p *PndService) createPndFromStore(loadedPnd networkdomain.LoadedPnd) networkdomain.NetworkDomain {
-	return NewPNDEntity(uuid.MustParse(loadedPnd.ID), loadedPnd.Name, loadedPnd.Description)
+	return NewPND(uuid.MustParse(loadedPnd.ID), loadedPnd.Name, loadedPnd.Description)
 }
diff --git a/controller/nucleus/principalNetworkDomain.go b/controller/nucleus/principalNetworkDomain.go
index 87e69a8cf55e957723974d0545dfaeef2ba1adbe..4faecb1265108367a9d0c34d868866258d95eff2 100644
--- a/controller/nucleus/principalNetworkDomain.go
+++ b/controller/nucleus/principalNetworkDomain.go
@@ -5,54 +5,35 @@ import (
 
 	cpb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/csbi"
 
-	eventservice "code.fbi.h-da.de/danet/gosdn/controller/eventService"
-
-	eventInterfaces "code.fbi.h-da.de/danet/gosdn/controller/interfaces/event"
 	"code.fbi.h-da.de/danet/gosdn/controller/interfaces/networkdomain"
 	"code.fbi.h-da.de/danet/gosdn/controller/interfaces/networkelement"
-	"code.fbi.h-da.de/danet/gosdn/controller/interfaces/plugin"
 
 	"github.com/google/uuid"
 	log "github.com/sirupsen/logrus"
 )
 
-// NewPND creates a Principle Network Domain.
-func NewPND(
-	name string,
-	description string,
-	id uuid.UUID,
-	c cpb.CsbiServiceClient,
-	ps plugin.Service,
-	callback func(uuid.UUID, chan networkelement.Details),
-) (networkdomain.NetworkDomain, error) {
-	eventService, err := eventservice.NewEventService()
-	if err != nil {
-		return nil, err
-	}
-	networkElementStore := NewNetworkElementStore()
-	networkElementService := NewNetworkElementService(
-		networkElementStore,
-		ps,
-		eventService,
-	)
-
-	pnd := &pndImplementation{
-		Name:                  name,
-		Description:           description,
-		pluginService:         ps,
-		networkElementService: networkElementService,
-		Id:                    id,
-
-		csbiClient:   c,
-		callback:     callback,
-		eventService: eventService,
-	}
+// // NewPND creates a Principle Network Domain.
+// func NewPND(
+// 	name string,
+// 	description string,
+// 	id uuid.UUID,
+// 	c cpb.CsbiServiceClient,
+// 	callback func(uuid.UUID, chan networkelement.Details),
+// ) (networkdomain.NetworkDomain, error) {
+// 	pnd := &pndImplementation{
+// 		Name:        name,
+// 		Description: description,
+// 		Id:          id,
+
+// 		csbiClient: c,
+// 		callback:   callback,
+// 	}
 
-	return pnd, nil
-}
+// 	return pnd, nil
+// }
 
 // NewPNDEntity creates a PND object as it is stored in the storage.
-func NewPNDEntity(pndID uuid.UUID, name string, description string) networkdomain.NetworkDomain {
+func NewPND(pndID uuid.UUID, name string, description string) networkdomain.NetworkDomain {
 	pnd := &pndImplementation{
 		Id:          pndID,
 		Name:        name,
@@ -63,16 +44,13 @@ func NewPNDEntity(pndID uuid.UUID, name string, description string) networkdomai
 }
 
 type pndImplementation struct {
-	Name                  string `json:"name,omitempty"`
-	Description           string `json:"description,omitempty"`
-	pluginService         plugin.Service
-	networkElementService networkelement.Service
+	Name        string `json:"name,omitempty"`
+	Description string `json:"description,omitempty"`
 	//nolint
 	Id uuid.UUID `json:"id,omitempty"`
 
-	csbiClient   cpb.CsbiServiceClient
-	callback     func(uuid.UUID, chan networkelement.Details)
-	eventService eventInterfaces.Service
+	csbiClient cpb.CsbiServiceClient
+	callback   func(uuid.UUID, chan networkelement.Details)
 }
 
 func (pnd *pndImplementation) ID() uuid.UUID {