diff --git a/dc/arista-proxy/BUILD.bazel b/dc/arista-proxy/BUILD.bazel
index e337068..9acae47 100644
--- a/dc/arista-proxy/BUILD.bazel
+++ b/dc/arista-proxy/BUILD.bazel
@@ -1,7 +1,7 @@
 load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
 
 go_library(
-    name = "go_default_library",
+    name = "arista-proxy_lib",
     srcs = [
         "main.go",
         "service.go",
@@ -9,17 +9,17 @@
     importpath = "code.hackerspace.pl/hscloud/dc/arista-proxy",
     visibility = ["//visibility:private"],
     deps = [
-        "//dc/arista-proxy/proto:go_default_library",
-        "//go/mirko:go_default_library",
-        "@com_github_golang_glog//:go_default_library",
-        "@com_github_q3k_cursedjsonrpc//:go_default_library",
-        "@org_golang_google_grpc//codes:go_default_library",
-        "@org_golang_google_grpc//status:go_default_library",
+        "//dc/arista-proxy/proto",
+        "//go/mirko",
+        "@com_github_golang_glog//:glog",
+        "@com_github_q3k_cursedjsonrpc//:cursedjsonrpc",
+        "@org_golang_google_grpc//codes",
+        "@org_golang_google_grpc//status",
     ],
 )
 
 go_binary(
     name = "arista-proxy",
-    embed = [":go_default_library"],
+    embed = [":arista-proxy_lib"],
     visibility = ["//visibility:public"],
 )
diff --git a/dc/arista-proxy/main.go b/dc/arista-proxy/main.go
index ed4a9b3..15c9262 100644
--- a/dc/arista-proxy/main.go
+++ b/dc/arista-proxy/main.go
@@ -6,7 +6,7 @@
 
 	"code.hackerspace.pl/hscloud/go/mirko"
 	"github.com/golang/glog"
-	"github.com/q3k/cursedjsonrpc"
+	cursedjsonrpc "github.com/q3k/cursedjsonrpc"
 
 	pb "code.hackerspace.pl/hscloud/dc/arista-proxy/proto"
 )
diff --git a/dc/arista-proxy/proto/BUILD.bazel b/dc/arista-proxy/proto/BUILD.bazel
index 2df4f58..cb390ab 100644
--- a/dc/arista-proxy/proto/BUILD.bazel
+++ b/dc/arista-proxy/proto/BUILD.bazel
@@ -1,3 +1,4 @@
+load("@rules_proto//proto:defs.bzl", "proto_library")
 load("@io_bazel_rules_go//go:def.bzl", "go_library")
 load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 
@@ -16,7 +17,7 @@
 )
 
 go_library(
-    name = "go_default_library",
+    name = "proto",
     embed = [":proto_go_proto"],
     importpath = "code.hackerspace.pl/hscloud/dc/arista-proxy/proto",
     visibility = ["//visibility:public"],
diff --git a/dc/cmc-proxy/BUILD.bazel b/dc/cmc-proxy/BUILD.bazel
index b2f68ca..92b9bc3 100644
--- a/dc/cmc-proxy/BUILD.bazel
+++ b/dc/cmc-proxy/BUILD.bazel
@@ -1,7 +1,7 @@
 load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
 
 go_library(
-    name = "go_default_library",
+    name = "cmc-proxy_lib",
     srcs = [
         "client.go",
         "main.go",
@@ -9,17 +9,17 @@
     importpath = "code.hackerspace.pl/hscloud/dc/cmc-proxy",
     visibility = ["//visibility:private"],
     deps = [
-        "//dc/cmc-proxy/proto:go_default_library",
-        "//go/mirko:go_default_library",
-        "@com_github_cenkalti_backoff//:go_default_library",
-        "@com_github_golang_glog//:go_default_library",
-        "@org_golang_google_grpc//codes:go_default_library",
-        "@org_golang_google_grpc//status:go_default_library",
+        "//dc/cmc-proxy/proto",
+        "//go/mirko",
+        "@com_github_cenkalti_backoff//:backoff",
+        "@com_github_golang_glog//:glog",
+        "@org_golang_google_grpc//codes",
+        "@org_golang_google_grpc//status",
     ],
 )
 
 go_binary(
     name = "cmc-proxy",
-    embed = [":go_default_library"],
+    embed = [":cmc-proxy_lib"],
     visibility = ["//visibility:public"],
 )
diff --git a/dc/cmc-proxy/proto/BUILD.bazel b/dc/cmc-proxy/proto/BUILD.bazel
index 14b0569..4723b22 100644
--- a/dc/cmc-proxy/proto/BUILD.bazel
+++ b/dc/cmc-proxy/proto/BUILD.bazel
@@ -1,3 +1,4 @@
+load("@rules_proto//proto:defs.bzl", "proto_library")
 load("@io_bazel_rules_go//go:def.bzl", "go_library")
 load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 
@@ -16,7 +17,7 @@
 )
 
 go_library(
-    name = "go_default_library",
+    name = "proto",
     embed = [":proto_go_proto"],
     importpath = "code.hackerspace.pl/hscloud/dc/cmc-proxy/proto",
     visibility = ["//visibility:public"],
diff --git a/dc/m6220-proxy/BUILD.bazel b/dc/m6220-proxy/BUILD.bazel
index 1d737b5..d52c6ce 100644
--- a/dc/m6220-proxy/BUILD.bazel
+++ b/dc/m6220-proxy/BUILD.bazel
@@ -1,27 +1,24 @@
 load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
 
 go_library(
-    name = "go_default_library",
-    srcs = [
-        "cli.go",
-        "main.go",
-    ],
+    name = "m6220-proxy_lib",
+    srcs = ["main.go"],
     importpath = "code.hackerspace.pl/hscloud/dc/m6220-proxy",
     visibility = ["//visibility:private"],
     deps = [
-        "//dc/m6220-proxy/proto:go_default_library",
-        "//dc/proto:go_default_library",
-        "//go/mirko:go_default_library",
-        "@com_github_golang_glog//:go_default_library",
-        "@com_github_ziutek_telnet//:go_default_library",
-        "@org_golang_google_grpc//codes:go_default_library",
-        "@org_golang_google_grpc//status:go_default_library",
-        "@org_golang_x_net//trace:go_default_library",
+        "//dc/m6220-proxy/cli",
+        "//dc/m6220-proxy/proto",
+        "//dc/proto",
+        "//go/mirko",
+        "@com_github_golang_glog//:glog",
+        "@com_github_ziutek_telnet//:telnet",
+        "@org_golang_google_grpc//codes",
+        "@org_golang_google_grpc//status",
     ],
 )
 
 go_binary(
     name = "m6220-proxy",
-    embed = [":go_default_library"],
+    embed = [":m6220-proxy_lib"],
     visibility = ["//visibility:public"],
 )
diff --git a/dc/m6220-proxy/cli/BUILD.bazel b/dc/m6220-proxy/cli/BUILD.bazel
index 7ba74a4..390748a 100644
--- a/dc/m6220-proxy/cli/BUILD.bazel
+++ b/dc/m6220-proxy/cli/BUILD.bazel
@@ -6,8 +6,7 @@
     importpath = "code.hackerspace.pl/hscloud/dc/m6220-proxy/cli",
     visibility = ["//visibility:public"],
     deps = [
-        "@com_github_golang_glog//:go_default_library",
-        "@com_github_ziutek_telnet//:go_default_library",
-        "@org_golang_x_net//trace:go_default_library",
+        "@com_github_ziutek_telnet//:telnet",
+        "@org_golang_x_net//trace",
     ],
 )
diff --git a/dc/m6220-proxy/main.go b/dc/m6220-proxy/main.go
index f4c348b..4a63cc9 100644
--- a/dc/m6220-proxy/main.go
+++ b/dc/m6220-proxy/main.go
@@ -8,14 +8,15 @@
 	"strconv"
 	"strings"
 
-	"code.hackerspace.pl/hscloud/go/mirko"
 	"github.com/golang/glog"
 	"github.com/ziutek/telnet"
 	"google.golang.org/grpc/codes"
 	"google.golang.org/grpc/status"
 
+	"code.hackerspace.pl/hscloud/dc/m6220-proxy/cli"
 	pb "code.hackerspace.pl/hscloud/dc/m6220-proxy/proto"
 	dpb "code.hackerspace.pl/hscloud/dc/proto"
+	"code.hackerspace.pl/hscloud/go/mirko"
 )
 
 var (
@@ -32,7 +33,7 @@
 	connectionSemaphore chan int
 }
 
-func (s *service) connect() (*cliClient, error) {
+func (s *service) connect() (*cli.Client, error) {
 	s.connectionSemaphore <- 1
 	conn, err := telnet.Dial("tcp", flagSwitchAddress)
 	if err != nil {
@@ -40,7 +41,7 @@
 		return nil, err
 	}
 
-	cli := newCliClient(conn, flagSwitchUsername, flagSwitchPassword)
+	cli := cli.NewClient(conn, flagSwitchUsername, flagSwitchPassword)
 	return cli, nil
 }
 
@@ -59,7 +60,7 @@
 	}
 	defer s.disconnect()
 
-	lines, effective, err := cli.runCommand(ctx, req.Command)
+	lines, effective, err := cli.RunCommand(ctx, req.Command)
 	if err != nil {
 		return nil, err
 	}
@@ -227,7 +228,7 @@
 	defer s.disconnect()
 	res := &dpb.GetPortsResponse{}
 
-	statusLines, _, err := cli.runCommand(ctx, "show interface status")
+	statusLines, _, err := cli.RunCommand(ctx, "show interface status")
 	if err != nil {
 		return nil, status.Error(codes.Unavailable, "could not get interface status from switch")
 	}
@@ -238,7 +239,7 @@
 	}
 
 	for _, port := range res.Ports {
-		configLines, _, err := cli.runCommand(ctx, "show run interface "+port.Name)
+		configLines, _, err := cli.RunCommand(ctx, "show run interface "+port.Name)
 		if err != nil {
 			return nil, status.Error(codes.Unavailable, "could not get interface config from switch")
 		}
diff --git a/dc/m6220-proxy/proto/BUILD.bazel b/dc/m6220-proxy/proto/BUILD.bazel
index 4e0ae7e..5049bc5 100644
--- a/dc/m6220-proxy/proto/BUILD.bazel
+++ b/dc/m6220-proxy/proto/BUILD.bazel
@@ -1,3 +1,4 @@
+load("@rules_proto//proto:defs.bzl", "proto_library")
 load("@io_bazel_rules_go//go:def.bzl", "go_library")
 load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 
@@ -16,7 +17,7 @@
 )
 
 go_library(
-    name = "go_default_library",
+    name = "proto",
     embed = [":proto_go_proto"],
     importpath = "code.hackerspace.pl/hscloud/dc/m6220-proxy/proto",
     visibility = ["//visibility:public"],
diff --git a/dc/proto/BUILD.bazel b/dc/proto/BUILD.bazel
index cfee72e..1049608 100644
--- a/dc/proto/BUILD.bazel
+++ b/dc/proto/BUILD.bazel
@@ -1,3 +1,4 @@
+load("@rules_proto//proto:defs.bzl", "proto_library")
 load("@io_bazel_rules_go//go:def.bzl", "go_library")
 load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 
@@ -16,7 +17,7 @@
 )
 
 go_library(
-    name = "go_default_library",
+    name = "proto",
     embed = [":proto_go_proto"],
     importpath = "code.hackerspace.pl/hscloud/dc/proto",
     visibility = ["//visibility:public"],
diff --git a/dc/topo/BUILD.bazel b/dc/topo/BUILD.bazel
index 83673e3..3cb0fb7 100644
--- a/dc/topo/BUILD.bazel
+++ b/dc/topo/BUILD.bazel
@@ -1,7 +1,7 @@
 load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
 
 go_library(
-    name = "go_default_library",
+    name = "topo_lib",
     srcs = [
         "main.go",
         "service.go",
@@ -9,23 +9,23 @@
     importpath = "code.hackerspace.pl/hscloud/dc/topo",
     visibility = ["//visibility:private"],
     deps = [
-        "//dc/proto:go_default_library",
-        "//dc/topo/assets:go_default_library",
-        "//dc/topo/graph:go_default_library",
-        "//dc/topo/proto:go_default_library",
-        "//dc/topo/state:go_default_library",
-        "//go/mirko:go_default_library",
-        "//go/statusz:go_default_library",
-        "@com_github_digitalocean_go_netbox//netbox:go_default_library",
-        "@com_github_digitalocean_go_netbox//netbox/client:go_default_library",
-        "@com_github_golang_glog//:go_default_library",
+        "//dc/proto",
+        "//dc/topo/assets",
+        "//dc/topo/graph",
+        "//dc/topo/proto",
+        "//dc/topo/state",
+        "//go/mirko",
+        "//go/statusz",
+        "@com_github_digitalocean_go_netbox//netbox",
+        "@com_github_digitalocean_go_netbox//netbox/client",
+        "@com_github_fvbommel_sortorder//:sortorder",
+        "@com_github_golang_glog//:glog",
         "@com_github_golang_protobuf//proto:go_default_library",
-        "@ml_vbom_util//sortorder:go_default_library",
     ],
 )
 
 go_binary(
     name = "topo",
-    embed = [":go_default_library"],
+    embed = [":topo_lib"],
     visibility = ["//visibility:public"],
 )
diff --git a/dc/topo/assets/BUILD.bazel b/dc/topo/assets/BUILD.bazel
index 401487b..21d49f9 100644
--- a/dc/topo/assets/BUILD.bazel
+++ b/dc/topo/assets/BUILD.bazel
@@ -2,16 +2,16 @@
 load("@io_bazel_rules_go//extras:embed_data.bzl", "go_embed_data")
 
 go_embed_data(
-    name = "assets",
+    name = "assets_embed",
     srcs = glob(["*.js"]),
-    package = "assets",
     flatten = True,
+    package = "assets",
 )
 
 # keep
 go_library(
-    name = "go_default_library",
-    srcs = [":assets"],
+    name = "assets",
+    srcs = [":assets_embed"],
     importpath = "code.hackerspace.pl/hscloud/dc/topo/assets",
     visibility = ["//dc/topo:__pkg__"],
 )
diff --git a/dc/topo/graph/BUILD.bazel b/dc/topo/graph/BUILD.bazel
index 26a5fc2..fd93c4c 100644
--- a/dc/topo/graph/BUILD.bazel
+++ b/dc/topo/graph/BUILD.bazel
@@ -1,15 +1,15 @@
 load("@io_bazel_rules_go//go:def.bzl", "go_library")
 
 go_library(
-    name = "go_default_library",
+    name = "graph",
     srcs = ["graph.go"],
     importpath = "code.hackerspace.pl/hscloud/dc/topo/graph",
     visibility = ["//visibility:public"],
     deps = [
-        "//dc/topo/proto:go_default_library",
-        "@com_github_digitalocean_go_netbox//netbox/client:go_default_library",
-        "@com_github_digitalocean_go_netbox//netbox/client/dcim:go_default_library",
-        "@com_github_digitalocean_go_netbox//netbox/models:go_default_library",
-        "@com_github_golang_glog//:go_default_library",
+        "//dc/topo/proto",
+        "@com_github_digitalocean_go_netbox//netbox/client",
+        "@com_github_digitalocean_go_netbox//netbox/client/dcim",
+        "@com_github_digitalocean_go_netbox//netbox/models",
+        "@com_github_golang_glog//:glog",
     ],
 )
diff --git a/dc/topo/graph/graph.go b/dc/topo/graph/graph.go
index 4d31f39..288d306 100644
--- a/dc/topo/graph/graph.go
+++ b/dc/topo/graph/graph.go
@@ -142,7 +142,7 @@
 
 }
 
-func (g *Graph) FeedFromNetbox(ctx context.Context, nb *client.NetBox) error {
+func (g *Graph) FeedFromNetbox(ctx context.Context, nb *client.NetBoxAPI) error {
 	// Clear all connections first, because it's easier that way.
 	for _, machine := range g.Machines {
 		for _, port := range machine.Ports {
@@ -169,18 +169,18 @@
 			return fmt.Errorf("while querying information about %q: %v", machine.Name, err)
 		}
 		for _, connection := range res.Payload.Results {
-			ia := connection.InterfaceA
-			ib := connection.InterfaceB
+			ia := connection.Interfacea
+			ib := connection.Interfaceb
 			if ia == nil || ib == nil {
 				continue
 			}
 
 			// Find which way this thing actually connects.
-			var thisSide, otherSide *models.PeerInterface
-			if ia.Device.Name == machine.Name {
+			var thisSide, otherSide *models.NestedInterface
+			if ia.Device.Name != nil && *ia.Device.Name == machine.Name {
 				thisSide = ia
 				otherSide = ib
-			} else if ib.Device.Name == machine.Name {
+			} else if ib.Device.Name != nil && *ib.Device.Name == machine.Name {
 				thisSide = ib
 				otherSide = ia
 			} else {
@@ -192,9 +192,9 @@
 			if !ok {
 				continue
 			}
-			sw, ok := g.Switches[otherSide.Device.Name]
+			sw, ok := g.Switches[*otherSide.Device.Name]
 			if !ok {
-				glog.Warningf("Machine %q port %q is managed but connected to unknown device %q", machine.Name, thisPort.Name, otherSide.Device.Name)
+				glog.Warningf("Machine %q port %q is managed but connected to unknown device %q", machine.Name, thisPort.Name, *otherSide.Device.Name)
 				continue
 			}
 			otherPort, ok := sw.Ports[*otherSide.Name]
diff --git a/dc/topo/proto/BUILD.bazel b/dc/topo/proto/BUILD.bazel
index 3caae5b..488dea9 100644
--- a/dc/topo/proto/BUILD.bazel
+++ b/dc/topo/proto/BUILD.bazel
@@ -1,3 +1,4 @@
+load("@rules_proto//proto:defs.bzl", "proto_library")
 load("@io_bazel_rules_go//go:def.bzl", "go_library")
 load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 
@@ -15,7 +16,7 @@
 )
 
 go_library(
-    name = "go_default_library",
+    name = "proto",
     embed = [":proto_go_proto"],
     importpath = "code.hackerspace.pl/hscloud/dc/topo/proto",
     visibility = ["//visibility:public"],
diff --git a/dc/topo/service.go b/dc/topo/service.go
index 84eda5d..97a74dd 100644
--- a/dc/topo/service.go
+++ b/dc/topo/service.go
@@ -7,7 +7,7 @@
 	"sort"
 	"strings"
 
-	"vbom.ml/util/sortorder"
+	"github.com/fvbommel/sortorder"
 
 	"code.hackerspace.pl/hscloud/go/mirko"
 	"code.hackerspace.pl/hscloud/go/statusz"
diff --git a/dc/topo/state/BUILD.bazel b/dc/topo/state/BUILD.bazel
index fefb3ef..6cb8d59 100644
--- a/dc/topo/state/BUILD.bazel
+++ b/dc/topo/state/BUILD.bazel
@@ -1,14 +1,14 @@
 load("@io_bazel_rules_go//go:def.bzl", "go_library")
 
 go_library(
-    name = "go_default_library",
+    name = "state",
     srcs = ["state.go"],
     importpath = "code.hackerspace.pl/hscloud/dc/topo/state",
     visibility = ["//visibility:public"],
     deps = [
-        "//dc/proto:go_default_library",
-        "//dc/topo/proto:go_default_library",
-        "//go/pki:go_default_library",
+        "//dc/proto",
+        "//dc/topo/proto",
+        "//go/pki",
         "@org_golang_google_grpc//:go_default_library",
     ],
 )
