diff --git a/controller/controller.go b/controller/controller.go
index a9651bd7a449e92fe141871c738988f89e3db205..49cafb0fef714946ccac614d40bc528f06c8d3a7 100644
--- a/controller/controller.go
+++ b/controller/controller.go
@@ -68,14 +68,21 @@ func initialize() error {
 		return err
 	}
 
+	nodeService := nodes.NewNodeService(nodes.NewDatabaseNodeStore())
+	portService := ports.NewPortService(ports.NewDatabasePortStore())
+
 	c = &Core{
-		pndStore:        nucleus.NewPndStore(),
-		userService:     rbacImpl.NewUserService(rbacImpl.NewUserStore()),
-		roleService:     rbacImpl.NewRoleService(rbacImpl.NewRoleStore()),
-		topologyService: topology.NewTopologyService(topology.NewDatabaseTopologyStore()),
-		nodeService:     nodes.NewNodeService(nodes.NewDatabaseNodeStore()),
-		portService:     ports.NewPortService(ports.NewDatabasePortStore()),
-		stopChan:        make(chan os.Signal, 1),
+		pndStore:    nucleus.NewPndStore(),
+		userService: rbacImpl.NewUserService(rbacImpl.NewUserStore()),
+		roleService: rbacImpl.NewRoleService(rbacImpl.NewRoleStore()),
+		topologyService: topology.NewTopologyService(
+			topology.NewDatabaseTopologyStore(),
+			nodeService,
+			portService,
+		),
+		nodeService: nodeService,
+		portService: portService,
+		stopChan:    make(chan os.Signal, 1),
 	}
 
 	// Setting up signal capturing