diff --git a/build/ci/.golangci-config/.golangci.yml b/build/ci/.golangci-config/.golangci.yml
index 1ca12a130fcef6a4ff882340c5c1f981c0804521..a25219bf493cf95a8d43c16df09d72bc3479b83c 100644
--- a/build/ci/.golangci-config/.golangci.yml
+++ b/build/ci/.golangci-config/.golangci.yml
@@ -26,8 +26,11 @@ linters:
   disable-all: true
   enable:
     - gofmt
+    - goimports
     - golint
     - gocyclo
     - govet
 issues:
   exclude-use-default: false
+  max-issues-per-linter: 0
+  max-same-issues: 0
\ No newline at end of file
diff --git a/cli/capabilities.go b/cli/capabilities.go
index a80540d873fd52dc582ee6ec124649f64e9ad6b5..b05fe7794afea7100b15554371151e6229ce42db 100644
--- a/cli/capabilities.go
+++ b/cli/capabilities.go
@@ -1,12 +1,13 @@
 package cli
 
 import (
-	"code.fbi.h-da.de/cocsn/gosdn/forks/goarista/gnmi"
-	"code.fbi.h-da.de/cocsn/gosdn/nucleus"
 	"context"
 	"fmt"
-	gpb "github.com/openconfig/gnmi/proto/gnmi"
 	"strings"
+
+	"code.fbi.h-da.de/cocsn/gosdn/forks/goarista/gnmi"
+	"code.fbi.h-da.de/cocsn/gosdn/nucleus"
+	gpb "github.com/openconfig/gnmi/proto/gnmi"
 )
 
 // Capabilities sends a gNMI Capabilities request to the specified target
diff --git a/cli/get.go b/cli/get.go
index ccd8b25a464dab88bb3e9b57ce921524de2f16b7..23406cde6824ef4915c76dfaee510543c2634e12 100644
--- a/cli/get.go
+++ b/cli/get.go
@@ -1,9 +1,10 @@
 package cli
 
 import (
+	"context"
+
 	"code.fbi.h-da.de/cocsn/gosdn/forks/goarista/gnmi"
 	"code.fbi.h-da.de/cocsn/gosdn/nucleus"
-	"context"
 	gpb "github.com/openconfig/gnmi/proto/gnmi"
 	log "github.com/sirupsen/logrus"
 )
diff --git a/cli/set.go b/cli/set.go
index c5499d6f3a085db76d03fcef3227645662e829fc..7e5328b18e8c354848f989e54c0796b7ff0894f8 100644
--- a/cli/set.go
+++ b/cli/set.go
@@ -1,9 +1,10 @@
 package cli
 
 import (
+	"context"
+
 	"code.fbi.h-da.de/cocsn/gosdn/forks/goarista/gnmi"
 	"code.fbi.h-da.de/cocsn/gosdn/nucleus"
-	"context"
 )
 
 // Set sends a gNMI Set request to the specified target. Only one
diff --git a/cli/subscribe.go b/cli/subscribe.go
index 88379e45f8d90f892c347c2aff18861658c18bfc..ba56bf9cb6a42f20dcc27d955af7ab77d2169748 100644
--- a/cli/subscribe.go
+++ b/cli/subscribe.go
@@ -1,16 +1,17 @@
 package cli
 
 import (
-	"code.fbi.h-da.de/cocsn/gosdn/forks/goarista/gnmi"
-	"code.fbi.h-da.de/cocsn/gosdn/nucleus"
 	"context"
 	"fmt"
-	gpb "github.com/openconfig/gnmi/proto/gnmi"
-	log "github.com/sirupsen/logrus"
 	"os"
 	"os/signal"
 	"syscall"
 	"time"
+
+	"code.fbi.h-da.de/cocsn/gosdn/forks/goarista/gnmi"
+	"code.fbi.h-da.de/cocsn/gosdn/nucleus"
+	gpb "github.com/openconfig/gnmi/proto/gnmi"
+	log "github.com/sirupsen/logrus"
 )
 
 // Subscribe starts a gNMI subscriber requersting the specified paths on the target and
diff --git a/cli/target.go b/cli/target.go
index cd35e87a352590ed8f26bdfc94583113d189cbc0..c43f1c4b75b461ff7fe051e05c64d1a83431b205 100644
--- a/cli/target.go
+++ b/cli/target.go
@@ -1,9 +1,12 @@
 package cli
 
 import (
+	"context"
+	"net"
+	"reflect"
+
 	"code.fbi.h-da.de/cocsn/gosdn/forks/google/gnmi"
 	oc "code.fbi.h-da.de/cocsn/yang-models/generated/openconfig"
-	"context"
 	pb "github.com/openconfig/gnmi/proto/gnmi"
 	"github.com/openconfig/goyang/pkg/yang"
 	"github.com/openconfig/ygot/util"
@@ -11,8 +14,6 @@ import (
 	log "github.com/sirupsen/logrus"
 	"google.golang.org/grpc"
 	"google.golang.org/grpc/reflection"
-	"net"
-	"reflect"
 )
 
 type server struct {
diff --git a/cmd/util.go b/cmd/util.go
index cb2eeb19d92a95250edac97b53b84f9e3431c899..3ea5ddd50a2706cee1931690323d4e06b9a3d17c 100644
--- a/cmd/util.go
+++ b/cmd/util.go
@@ -33,6 +33,7 @@ package cmd
 
 import (
 	"errors"
+
 	"github.com/spf13/cobra"
 )
 
diff --git a/database/client.go b/database/client.go
index 10e5414835fb523e273eecb87bf011535617f955..86dbdb186b2114a590d74cfa26d2e99ff19990e9 100644
--- a/database/client.go
+++ b/database/client.go
@@ -2,6 +2,7 @@ package database
 
 import (
 	"errors"
+
 	"github.com/neo4j/neo4j-go-driver/neo4j"
 	log "github.com/sirupsen/logrus"
 	"github.com/spf13/viper"
diff --git a/nucleus/controller.go b/nucleus/controller.go
index 4e96a290b394a596dd2568b73305f1f7a27f7dc8..accd0b8885711474e714c0e3c38e462f27a832e5 100644
--- a/nucleus/controller.go
+++ b/nucleus/controller.go
@@ -1,15 +1,16 @@
 package nucleus
 
 import (
-	"code.fbi.h-da.de/cocsn/gosdn/database"
 	"context"
-	"github.com/google/uuid"
-	log "github.com/sirupsen/logrus"
 	"net/http"
 	"os"
 	"os/signal"
 	"sync"
 	"time"
+
+	"code.fbi.h-da.de/cocsn/gosdn/database"
+	"github.com/google/uuid"
+	log "github.com/sirupsen/logrus"
 )
 
 var coreLock sync.RWMutex
diff --git a/nucleus/device_test.go b/nucleus/device_test.go
index 0c6f118ccf4cbdff858f96003e6cf1dff86bc375..829c60c5d53f53611d8dfb72f411145769fca58b 100644
--- a/nucleus/device_test.go
+++ b/nucleus/device_test.go
@@ -1,12 +1,13 @@
 package nucleus
 
 import (
+	"reflect"
+	"testing"
+
 	"code.fbi.h-da.de/cocsn/gosdn/forks/goarista/gnmi"
 	"code.fbi.h-da.de/cocsn/yang-models/generated/openconfig"
 	"github.com/google/uuid"
 	"github.com/openconfig/ygot/ygot"
-	"reflect"
-	"testing"
 )
 
 func TestDevice_Id(t *testing.T) {
diff --git a/nucleus/gnmi_transport.go b/nucleus/gnmi_transport.go
index 58ecadda376e4decae176cb8d6f079dc1a57727e..fb0c18f6f11bf3a01fe42ce4f46e18f92e3fb7c5 100644
--- a/nucleus/gnmi_transport.go
+++ b/nucleus/gnmi_transport.go
@@ -1,16 +1,17 @@
 package nucleus
 
 import (
+	"context"
+	"reflect"
+
 	"code.fbi.h-da.de/cocsn/gosdn/forks/goarista/gnmi"
 	pathutils "code.fbi.h-da.de/cocsn/gosdn/nucleus/util/path"
-	"context"
 	gpb "github.com/openconfig/gnmi/proto/gnmi"
 	"github.com/openconfig/gnmi/proto/gnmi_ext"
 	"github.com/openconfig/goyang/pkg/yang"
 	"github.com/openconfig/ygot/ygot"
 	"github.com/openconfig/ygot/ytypes"
 	log "github.com/sirupsen/logrus"
-	"reflect"
 )
 
 // CtxKeyType is a custom type to be used as key in a context.WithValue() or
diff --git a/nucleus/gnmi_transport_test.go b/nucleus/gnmi_transport_test.go
index 18627bd9349ab7d740a80bd5472c7eda045632bf..17389b1bf30d9a3e8579253801e8fbe5039408f7 100644
--- a/nucleus/gnmi_transport_test.go
+++ b/nucleus/gnmi_transport_test.go
@@ -1,18 +1,19 @@
 package nucleus
 
 import (
+	"context"
+	"errors"
+	"reflect"
+	"testing"
+
 	"code.fbi.h-da.de/cocsn/gosdn/forks/goarista/gnmi"
 	"code.fbi.h-da.de/cocsn/gosdn/mocks"
 	"code.fbi.h-da.de/cocsn/yang-models/generated/openconfig"
-	"context"
-	"errors"
 	gpb "github.com/openconfig/gnmi/proto/gnmi"
 	"github.com/openconfig/gnmi/proto/gnmi_ext"
 	"github.com/openconfig/goyang/pkg/yang"
 	"github.com/openconfig/ygot/ytypes"
 	"github.com/stretchr/testify/mock"
-	"reflect"
-	"testing"
 )
 
 // testSetupGnmi bootstraps tests for gnmi transport
diff --git a/nucleus/http_test.go b/nucleus/http_test.go
index aad389b3ede8f378369b7fb59badc0aee26ac34a..49405d29d40da981b9fccc159430654a3f75d77f 100644
--- a/nucleus/http_test.go
+++ b/nucleus/http_test.go
@@ -1,13 +1,14 @@
 package nucleus
 
 import (
-	"code.fbi.h-da.de/cocsn/gosdn/mocks"
 	"errors"
+	"net/http"
+	"testing"
+
+	"code.fbi.h-da.de/cocsn/gosdn/mocks"
 	"github.com/google/uuid"
 	log "github.com/sirupsen/logrus"
 	"github.com/stretchr/testify/mock"
-	"net/http"
-	"testing"
 )
 
 func testSetupHTTP() {
diff --git a/nucleus/initialise_test.go b/nucleus/initialise_test.go
index 6d66325fe3ed7060b3ac780f272cbcb7015c4245..4cb53d136315b294ac680ec6c81e760a964b7407 100644
--- a/nucleus/initialise_test.go
+++ b/nucleus/initialise_test.go
@@ -1,18 +1,19 @@
 package nucleus
 
 import (
+	"context"
+	"os"
+	"testing"
+
 	"code.fbi.h-da.de/cocsn/gosdn/forks/goarista/gnmi"
 	"code.fbi.h-da.de/cocsn/gosdn/mocks"
 	"code.fbi.h-da.de/cocsn/gosdn/nucleus/util/proto"
 	"code.fbi.h-da.de/cocsn/gosdn/test"
-	"context"
 	"github.com/google/uuid"
 	gpb "github.com/openconfig/gnmi/proto/gnmi"
 	log "github.com/sirupsen/logrus"
 	"github.com/stretchr/testify/mock"
 	pb "google.golang.org/protobuf/proto"
-	"os"
-	"testing"
 )
 
 const apiEndpoint = "http://localhost:8080"
diff --git a/nucleus/pnd/change.go b/nucleus/pnd/change.go
index 55c7fc539f515d4383a6e9b5783986ed6feac270..a6e550c9cf52786cfe9d507d216ba57d3b9af773 100644
--- a/nucleus/pnd/change.go
+++ b/nucleus/pnd/change.go
@@ -2,13 +2,14 @@ package pnd
 
 import (
 	"errors"
+	"os"
+	"sync"
+	"time"
+
 	"github.com/google/uuid"
 	"github.com/openconfig/ygot/ygot"
 	log "github.com/sirupsen/logrus"
 	"golang.org/x/net/context"
-	"os"
-	"sync"
-	"time"
 )
 
 var changeTimeout time.Duration
diff --git a/nucleus/pnd/change_test.go b/nucleus/pnd/change_test.go
index 7871a0db04a1527246df36a23b0ad83d264d10ef..71f648557214b91c4c5ee059943954883725367b 100644
--- a/nucleus/pnd/change_test.go
+++ b/nucleus/pnd/change_test.go
@@ -3,13 +3,14 @@ package pnd
 import (
 	"context"
 	"errors"
-	"github.com/google/uuid"
-	"github.com/openconfig/ygot/exampleoc"
-	"github.com/openconfig/ygot/ygot"
 	"reflect"
 	"sync"
 	"testing"
 	"time"
+
+	"github.com/google/uuid"
+	"github.com/openconfig/ygot/exampleoc"
+	"github.com/openconfig/ygot/ygot"
 )
 
 var commit = "commit"
diff --git a/nucleus/pnd/initialise_test.go b/nucleus/pnd/initialise_test.go
index 674656c8825327bac8c34ef84a8db6548ea2baaf..7451bd565d99f38a5b23abae7bc93fbb4d001503 100644
--- a/nucleus/pnd/initialise_test.go
+++ b/nucleus/pnd/initialise_test.go
@@ -1,10 +1,11 @@
 package pnd
 
 import (
-	"github.com/google/uuid"
-	log "github.com/sirupsen/logrus"
 	"os"
 	"testing"
+
+	"github.com/google/uuid"
+	log "github.com/sirupsen/logrus"
 )
 
 // UUIDs for test cases
diff --git a/nucleus/principalNetworkDomain.go b/nucleus/principalNetworkDomain.go
index 0a1e69788165da250a97bba5c2a36451ee49248b..375801125282b51c494b637165ab944918a1be44 100644
--- a/nucleus/principalNetworkDomain.go
+++ b/nucleus/principalNetworkDomain.go
@@ -1,14 +1,16 @@
 package nucleus
 
 import (
+	"context"
+
 	"code.fbi.h-da.de/cocsn/gosdn/forks/goarista/gnmi"
 	. "code.fbi.h-da.de/cocsn/gosdn/nucleus/pnd" //nolint
-	"context"
 	"github.com/openconfig/ygot/ygot"
 	"github.com/openconfig/ygot/ytypes"
 	log "github.com/sirupsen/logrus"
 
 	"encoding/json"
+
 	"github.com/google/uuid"
 )
 
diff --git a/nucleus/principalNetworkDomain_test.go b/nucleus/principalNetworkDomain_test.go
index 6ff0f9327387933ef5dbfe92a2fb944182b7aa87..9daf8230a63a4a585580e65a5f348057837e1a0f 100644
--- a/nucleus/principalNetworkDomain_test.go
+++ b/nucleus/principalNetworkDomain_test.go
@@ -1,14 +1,15 @@
 package nucleus
 
 import (
+	"errors"
+	"reflect"
+	"testing"
+
 	"code.fbi.h-da.de/cocsn/gosdn/mocks"
 	"code.fbi.h-da.de/cocsn/yang-models/generated/openconfig"
-	"errors"
 	"github.com/google/uuid"
 	"github.com/openconfig/ygot/ygot"
 	"github.com/stretchr/testify/mock"
-	"reflect"
-	"testing"
 )
 
 func TestNewPND(t *testing.T) {
diff --git a/nucleus/restconf_transport.go b/nucleus/restconf_transport.go
index 44411bf26586abbbbe7f499f122aa624d9d6e17d..7fe89a200b5cb0a0b58e488cae1ee93a98f4a3a2 100644
--- a/nucleus/restconf_transport.go
+++ b/nucleus/restconf_transport.go
@@ -2,6 +2,7 @@ package nucleus
 
 import (
 	"context"
+
 	"github.com/openconfig/ygot/ytypes"
 )
 
diff --git a/nucleus/restconf_transport_test.go b/nucleus/restconf_transport_test.go
index b31df33d665563cb12c64aac28f98788454e7272..e722632a7e062d3aaacec802611df7861e0fde43 100644
--- a/nucleus/restconf_transport_test.go
+++ b/nucleus/restconf_transport_test.go
@@ -2,9 +2,10 @@ package nucleus
 
 import (
 	"context"
-	"github.com/openconfig/ygot/ytypes"
 	"reflect"
 	"testing"
+
+	"github.com/openconfig/ygot/ytypes"
 )
 
 func TestRestconf_Get(t *testing.T) {
diff --git a/nucleus/southbound.go b/nucleus/southbound.go
index 831e5a92b3a1501ace46fcd3bbdf0fb2eb5ece70..bd7f6ff7f035be434321ff527290d5f2771b1026 100644
--- a/nucleus/southbound.go
+++ b/nucleus/southbound.go
@@ -1,6 +1,8 @@
 package nucleus
 
 import (
+	"reflect"
+
 	"code.fbi.h-da.de/cocsn/yang-models/generated/openconfig"
 	"github.com/google/uuid"
 	gpb "github.com/openconfig/gnmi/proto/gnmi"
@@ -9,7 +11,6 @@ import (
 	"github.com/openconfig/ygot/ygot"
 	"github.com/openconfig/ygot/ytypes"
 	log "github.com/sirupsen/logrus"
-	"reflect"
 )
 
 // SouthboundInterface provides an
diff --git a/nucleus/southbound_test.go b/nucleus/southbound_test.go
index 5df2efeab8351538bea042965fb384d0c8affe53..0bdaa18ec4c481c532f0eebd2de810c373acd89b 100644
--- a/nucleus/southbound_test.go
+++ b/nucleus/southbound_test.go
@@ -1,14 +1,15 @@
 package nucleus
 
 import (
+	"reflect"
+	"testing"
+
 	"code.fbi.h-da.de/cocsn/gosdn/nucleus/util/path"
 	"code.fbi.h-da.de/cocsn/gosdn/nucleus/util/proto"
 	"code.fbi.h-da.de/cocsn/yang-models/generated/openconfig"
 	"github.com/google/uuid"
 	gpb "github.com/openconfig/gnmi/proto/gnmi"
 	"github.com/openconfig/ygot/ytypes"
-	"reflect"
-	"testing"
 )
 
 func TestOpenConfig_Id(t *testing.T) {
diff --git a/nucleus/store.go b/nucleus/store.go
index 7f6b98fed1ed15b2e23a4c3efb9ed2dce25d83e7..35edfb62a7c733fccfb4b8f1612553da485161f8 100644
--- a/nucleus/store.go
+++ b/nucleus/store.go
@@ -1,11 +1,12 @@
 package nucleus
 
 import (
+	"reflect"
+	"sync"
+
 	p "code.fbi.h-da.de/cocsn/gosdn/nucleus/pnd"
 	"github.com/google/uuid"
 	log "github.com/sirupsen/logrus"
-	"reflect"
-	"sync"
 )
 
 var storeLock sync.RWMutex
diff --git a/nucleus/store_test.go b/nucleus/store_test.go
index bc9e2ab00f0e1ac4e31ccc5f616b954da6dc2528..affb9a1fb5727ff9eb30a316102590e8fc945128 100644
--- a/nucleus/store_test.go
+++ b/nucleus/store_test.go
@@ -1,11 +1,12 @@
 package nucleus
 
 import (
-	"code.fbi.h-da.de/cocsn/gosdn/mocks"
-	"github.com/google/uuid"
 	"reflect"
 	"sort"
 	"testing"
+
+	"code.fbi.h-da.de/cocsn/gosdn/mocks"
+	"github.com/google/uuid"
 )
 
 func Test_store_add(t *testing.T) {
diff --git a/nucleus/transport.go b/nucleus/transport.go
index 6df6e6b7de23206a7b8e1c692d897cfe5fbb9e0b..050629580f632a11d7c5da420928285429f07cbd 100644
--- a/nucleus/transport.go
+++ b/nucleus/transport.go
@@ -3,8 +3,9 @@ package nucleus
 import (
 	"bytes"
 	"context"
-	"github.com/openconfig/ygot/ytypes"
 	"io"
+
+	"github.com/openconfig/ygot/ytypes"
 )
 
 // Operation codes numerous operations used to change the state of remote resources.
diff --git a/nucleus/util/path/translate.go b/nucleus/util/path/translate.go
index e245344085d02130b5277334df9546aab98bc197..94e6a64508832a41954d8739291edcf93744e6c6 100644
--- a/nucleus/util/path/translate.go
+++ b/nucleus/util/path/translate.go
@@ -1,8 +1,9 @@
 package path
 
 import (
-	gpb "github.com/openconfig/gnmi/proto/gnmi"
 	"strings"
+
+	gpb "github.com/openconfig/gnmi/proto/gnmi"
 )
 
 // ToStrings translates a gNMI path to a slice of strings
diff --git a/nucleus/util/path/traverse.go b/nucleus/util/path/traverse.go
index ada6dbcb1a3439efbcb5b834ec952789e72825e8..c246ebddff0d5fe9396faa22ff9cb6ca5b923e09 100644
--- a/nucleus/util/path/traverse.go
+++ b/nucleus/util/path/traverse.go
@@ -2,10 +2,11 @@ package path
 
 import (
 	"fmt"
+	"strings"
+
 	"github.com/openconfig/goyang/pkg/yang"
 	"github.com/openconfig/ygot/ytypes"
 	log "github.com/sirupsen/logrus"
-	"strings"
 )
 
 const delim = "/"
diff --git a/nucleus/util/path/traverse_test.go b/nucleus/util/path/traverse_test.go
index a12455361462f3ceaf606883820580a5d6e39ab9..bfffb9c058e93aa0e090746cc19a8baa066890c0 100644
--- a/nucleus/util/path/traverse_test.go
+++ b/nucleus/util/path/traverse_test.go
@@ -1,14 +1,15 @@
 package path
 
 import (
-	model "code.fbi.h-da.de/cocsn/gosdn/test/yang"
-	"github.com/openconfig/goyang/pkg/yang"
-	"github.com/openconfig/ygot/ytypes"
-	log "github.com/sirupsen/logrus"
 	"os"
 	"reflect"
 	"sort"
 	"testing"
+
+	model "code.fbi.h-da.de/cocsn/gosdn/test/yang"
+	"github.com/openconfig/goyang/pkg/yang"
+	"github.com/openconfig/ygot/ytypes"
+	log "github.com/sirupsen/logrus"
 )
 
 var schema *ytypes.Schema
diff --git a/nucleus/util/proto/message.go b/nucleus/util/proto/message.go
index 816c728e1948967130fe82aa9397ea798fb2da44..066c0434e96fab416ffd4511e7101fdd31208165 100644
--- a/nucleus/util/proto/message.go
+++ b/nucleus/util/proto/message.go
@@ -2,8 +2,9 @@ package proto
 
 import (
 	"fmt"
-	"google.golang.org/protobuf/proto"
 	"io/ioutil"
+
+	"google.golang.org/protobuf/proto"
 )
 
 /*
diff --git a/nucleus/util/proto/message_test.go b/nucleus/util/proto/message_test.go
index 3f756d3aef8ad5c467a2572d793e374bb2802c30..dfa6e5587bb42a912c64f316578feeaf84daaf8e 100644
--- a/nucleus/util/proto/message_test.go
+++ b/nucleus/util/proto/message_test.go
@@ -1,12 +1,13 @@
 package proto
 
 import (
-	gpb "github.com/openconfig/gnmi/proto/gnmi"
-	pb "google.golang.org/protobuf/proto"
 	"os"
 	"reflect"
 	"strings"
 	"testing"
+
+	gpb "github.com/openconfig/gnmi/proto/gnmi"
+	pb "google.golang.org/protobuf/proto"
 )
 
 func TestMain(m *testing.M) {