diff --git a/northbound/client.go b/northbound/client.go
new file mode 100644
index 0000000000000000000000000000000000000000..040295490f7d7dbc348bdeced40bd0eb3bdedc7d
--- /dev/null
+++ b/northbound/client.go
@@ -0,0 +1 @@
+package northbound
diff --git a/northbound/server.go b/northbound/server.go
new file mode 100644
index 0000000000000000000000000000000000000000..75d6bdcc0fa8c1d41d1339636534ec994a99a4ce
--- /dev/null
+++ b/northbound/server.go
@@ -0,0 +1,43 @@
+package northbound
+
+import (
+	"code.fbi.h-da.de/cocsn/api/proto/gosdn"
+	"code.fbi.h-da.de/cocsn/api/proto/gosdn/pnd"
+	"context"
+)
+
+type pndServer struct {
+	pnd.UnimplementedPndServer
+}
+
+func (p pndServer) Get(ctx context.Context, request *pnd.GetRequest) (*pnd.GetResponse, error) {
+	panic("implement me")
+}
+
+func (p pndServer) Set(ctx context.Context, request *pnd.SetRequest) (*pnd.SetResponse, error) {
+	panic("implement me")
+}
+
+type gosdnServer struct {
+	gosdn.UnimplementedGosdnServer
+}
+
+func (s gosdnServer) Get(ctx context.Context, request *gosdn.GetRequest) (*gosdn.GetResponse, error) {
+	panic("implement me")
+}
+
+func (s gosdnServer) Set(ctx context.Context, request *gosdn.SetRequest) (*gosdn.SetResponse, error) {
+	panic("implement me")
+}
+
+func NewServer() *Server {
+	return &Server{
+		Pnd:        &pndServer{},
+		Controller: &gosdnServer{},
+	}
+}
+
+type Server struct {
+	Pnd        *pndServer
+	Controller *gosdnServer
+}