diff --git a/.golangci.yml b/.golangci.yml
index 6b9b260642f7024dac9c49f93ad26af496ccb780..71224fe1f71e1fca145e633cb68705d17b197dbf 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -11,11 +11,13 @@ run:
         - controller/forks
         - controller/test
         - controller/mocks
-        - models/generated/openconfig
-        - models/generated/arista
+        - models/
         - forks/
+        # ignore csbi, since we do not maintain it at the moment
+        - csbi/
         - clab-gosdn_csbi_arista_base/
-        - models/generated/arista
+        - plugins/examples/arista/generated
+        - plugins/examples/openconfig/generated
     skip-dirs-default: true
     skip-files:
         - http.go
diff --git a/controller/northbound/server/plugin.go b/controller/northbound/server/plugin.go
index 7ccdaf2fd5a65d8f967fa8b27b767ade17b96788..215a531a4fa1dfdbf93b09a8b096c757a25b99e2 100644
--- a/controller/northbound/server/plugin.go
+++ b/controller/northbound/server/plugin.go
@@ -31,7 +31,7 @@ func NewPluginInternalServer(pluginRegistryClient rpb.PluginRegistryServiceClien
 }
 
 func (pis *PluginInternalServer) AvailablePlugins(ctx context.Context, request *pipb.GetAvailablePluginsRequest) (*rpb.GetResponse, error) {
-	ctx, cancel := context.WithTimeout(context.Background(), time.Minute*1)
+	ctx, cancel := context.WithTimeout(ctx, time.Minute*1)
 	defer cancel()
 
 	getAllRequest := &rpb.GetAllRequest{
diff --git a/controller/northbound/server/test_util_test.go b/controller/northbound/server/test_util_test.go
index df886d2967b30bfc5ebeba8720676bd25c551696..1edf907445eaae99841b11ae40b601311717ffca 100644
--- a/controller/northbound/server/test_util_test.go
+++ b/controller/northbound/server/test_util_test.go
@@ -29,7 +29,7 @@ const committedChangeID = "804787d6-e5a8-4dba-a1e6-e73f96b0119e"
 const mneID = "7e0ed8cc-ebf5-46fa-9794-741494914883"
 
 var hostname = "manfred"
-var domainname = "uwe"
+
 var pndUUID uuid.UUID
 var pluginUUID uuid.UUID
 var pendingChangeUUID uuid.UUID
@@ -37,7 +37,6 @@ var committedChangeUUID uuid.UUID
 var mneUUID uuid.UUID
 var mockPnd *mocks.NetworkDomain
 var mockNetworkElement networkelement.NetworkElement
-var pluginStore plugin.Store
 
 // Name of this file requires _test at the end, because of how the availability of varibales is handled in test files of go packages.
 // Does not include actual file tests!
@@ -207,35 +206,16 @@ func createHashedAndSaltedPassword(plainPWD, salt string) string {
 func getMockPnd(t *testing.T) networkdomain.NetworkDomain {
 	mockNetworkElement = &nucleus.CommonNetworkElement{
 		Plugin: &mocks.Plugin{},
-		//Plugin: &openconfig.Device{
-		//	System: &openconfig.OpenconfigSystem_System{
-		//		Config: &openconfig.OpenconfigSystem_System_Config{
-		//			Hostname:   &hostname,
-		//			DomainName: &domainname,
-		//		},
-		//	},
-		//},
-		UUID: mneUUID,
+		UUID:   mneUUID,
 	}
 
-	//sbi, err := nucleus.NewSBI(spb.Type_TYPE_OPENCONFIG, sbiUUID)
-	//if err != nil {
-	//	t.Fatal(err)
-	//}
-	//mockNetworkElement.(*nucleus.CommonNetworkElement).SetSBI(sbi)
 	mockNetworkElement.(*nucleus.CommonNetworkElement).SetTransport(&mocks.Transport{})
 	mockNetworkElement.(*nucleus.CommonNetworkElement).SetName(hostname)
-	//sbiStore = nucleus.NewSbiStore(pluginUUID)
-	//if err := sbiStore.Add(mockNetworkElement.SBI()); err != nil {
-	//	t.Fatal(err)
-	//}
 
 	mockPnd = &mocks.NetworkDomain{}
 	mockPnd.On("ID").Return(pndUUID)
 	mockPnd.On("GetName").Return("test")
 	mockPnd.On("GetDescription").Return("test")
-	//mockPnd.On("GetSBIs").Return(sbiStore)
-	//mockPnd.On("GetSBI", mock.Anything).Return(mockNetworkElement.SBI(), nil)
 	mockPnd.On("NetworkElements").Return([]uuid.UUID{mneUUID})
 	mockPnd.On("PendingChanges").Return([]uuid.UUID{pendingChangeUUID})
 	mockPnd.On("CommittedChanges").Return([]uuid.UUID{committedChangeUUID})
diff --git a/controller/nucleus/initialise_test.go b/controller/nucleus/initialise_test.go
index 959028a3fb7a73f1eedd82541d10194b9a109a6e..b9cd0f98d0bbb7d3671a1896de275b52b3445c7e 100644
--- a/controller/nucleus/initialise_test.go
+++ b/controller/nucleus/initialise_test.go
@@ -172,7 +172,7 @@ func mockNetworkElement() networkelement.NetworkElement {
 }
 
 // TODO: return an error for pluginservice add!!
-func newPnd() pndImplementation {
+func newPnd() (*pndImplementation, error) {
 	mockPlugin := &mocks.Plugin{}
 	mockPlugin.On("ID").Return(defaultPluginID)
 	mockPlugin.On("Unmarshal", mock.Anything, mock.Anything).Return(nil)
@@ -187,6 +187,7 @@ func newPnd() pndImplementation {
 	pluginService := NewPluginServiceMock()
 	err := pluginService.Add(mockPlugin)
 	if err != nil {
+		return nil, err
 
 	}
 	deviceService := NewNetworkElementService(
@@ -195,14 +196,14 @@ func newPnd() pndImplementation {
 		eventService,
 	)
 
-	return pndImplementation{
+	return &pndImplementation{
 		Name:                  "default",
 		Description:           "default test pnd",
 		pluginService:         pluginService,
 		networkElementService: deviceService,
 		changes:               store.NewChangeStore(),
 		Id:                    defaultPndID,
-	}
+	}, nil
 }
 
 // removeTestGoStructs removes the plugins created during running the test in the current directory based on their name consisting of a uuid
diff --git a/controller/nucleus/principalNetworkDomain_test.go b/controller/nucleus/principalNetworkDomain_test.go
index 2528e48072282a4547a140e00467bac6e4750c05..5c306014b08734a4654aaf1e0badb35792a2b12b 100644
--- a/controller/nucleus/principalNetworkDomain_test.go
+++ b/controller/nucleus/principalNetworkDomain_test.go
@@ -19,7 +19,11 @@ import (
 )
 
 func TestNewPND(t *testing.T) {
-	p := newPnd()
+	p, err := newPnd()
+	if err != nil {
+		t.Fatal(err)
+		return
+	}
 
 	type args struct {
 		name        string
@@ -39,7 +43,7 @@ func TestNewPND(t *testing.T) {
 				description: "default test pnd",
 				pid:         defaultPndID,
 			},
-			want:    &p,
+			want:    p,
 			wantErr: false,
 		},
 	}
@@ -101,8 +105,11 @@ func Test_pndImplementation_AddNetworkElement(t *testing.T) {
 			mockPlugin.On("Model").Return([]byte("mockModel"), nil)
 			mockPlugin.On("Unmarshal", mock.Anything, mock.Anything).Return(nil)
 
-			pnd := newPnd()
-			err := pnd.pluginService.Add(mockPlugin)
+			pnd, err := newPnd()
+			if err != nil {
+				t.Fatal(err)
+			}
+			err = pnd.pluginService.Add(mockPlugin)
 			if err != nil {
 				t.Fatal(err)
 			}
@@ -140,7 +147,10 @@ func Test_pndImplementation_GetDescription(t *testing.T) {
 	}
 	for _, tt := range tests {
 		t.Run(tt.name, func(t *testing.T) {
-			pnd := newPnd()
+			pnd, err := newPnd()
+			if err != nil {
+				t.Errorf("GetDescription() = %v", err)
+			}
 			if got := pnd.GetDescription(); got != tt.want {
 				t.Errorf("GetDescription() = %v, want %v", got, tt.want)
 			}
@@ -157,7 +167,10 @@ func Test_pndImplementation_GetName(t *testing.T) {
 	}
 	for _, tt := range tests {
 		t.Run(tt.name, func(t *testing.T) {
-			pnd := newPnd()
+			pnd, err := newPnd()
+			if err != nil {
+				t.Errorf("GetName() = %v", err)
+			}
 			if got := pnd.GetName(); got != tt.want {
 				t.Errorf("GetName() = %v, want %v", got, tt.want)
 			}
@@ -185,11 +198,14 @@ func Test_pndImplementation_MarshalNetworkElement(t *testing.T) {
 
 	for _, tt := range tests {
 		t.Run(tt.name, func(t *testing.T) {
-			pnd := newPnd()
+			pnd, err := newPnd()
+			if err != nil {
+				t.Error(err)
+			}
 
 			mne := mockNetworkElement()
 
-			_, err := pnd.addNetworkElement(mne)
+			_, err = pnd.addNetworkElement(mne)
 			if err != nil {
 				t.Error(err)
 			}
@@ -226,11 +242,14 @@ func Test_pndImplementation_RemoveNetworkElement(t *testing.T) {
 		tt := tt
 		t.Run(tt.name, func(t *testing.T) {
 			t.Parallel()
-			pnd := newPnd()
+			pnd, err := newPnd()
+			if err != nil {
+				t.Error(err)
+			}
 
 			mne := mockNetworkElement()
 
-			_, err := pnd.addNetworkElement(mne)
+			_, err = pnd.addNetworkElement(mne)
 			if err != nil {
 				t.Error(err)
 			}
@@ -526,10 +545,14 @@ func Test_pndImplementation_RequestAll(t *testing.T) {
 //}
 
 func Test_pndImplementation_GetNetworkElement(t *testing.T) {
-	pnd := newPnd()
+	pnd, err := newPnd()
+	if err != nil {
+		t.Error(err)
+		return
+	}
 
 	mne := mockNetworkElement()
-	_, err := pnd.addNetworkElement(mne)
+	_, err = pnd.addNetworkElement(mne)
 	if err != nil {
 		t.Error(err)
 		return
@@ -603,7 +626,11 @@ func Test_pndImplementation_GetNetworkElementByName(t *testing.T) {
 		},
 	}
 
-	pnd := newPnd()
+	pnd, err := newPnd()
+	if err != nil {
+		t.Error(err)
+		return
+	}
 	mockPlugin := mockPlugin(t)
 	pluginModel, err := mockPlugin.Model()
 	if err != nil {