diff --git a/service.go b/service.go
index afdd04b..05964fa 100644
--- a/service.go
+++ b/service.go
@@ -4,6 +4,7 @@
 	"context"
 	"fmt"
 	"net/http"
+	"strings"
 
 	"code.hackerspace.pl/q3k/topo/graph"
 	"github.com/gobuffalo/packr"
@@ -61,32 +62,31 @@
 
 	http.HandleFunc("/debug/graphviz", func(w http.ResponseWriter, r *http.Request) {
 		fmt.Fprintf(w, "graph G {\n")
+		fmt.Fprintf(w, "  rankdir = LR\n")
 		for _, machine := range s.gr.Machines {
-			fmt.Fprintf(w, "  subgraph cluster%s {\n", machine.Name)
-			fmt.Fprintf(w, "    label = %s\n", machine.Name)
+			portNames := []string{}
 			for _, port := range machine.Ports {
-				a := machine.Name + "|" + port.Name
-				fmt.Fprintf(w, "    %q [label = %q]\n", a, port.Name)
+				name := fmt.Sprintf("<%s> %s", port.Name, port.Name)
+				portNames = append(portNames, name)
 			}
-			fmt.Fprintf(w, "  }\n")
+			ports := strings.Join(portNames, "|")
+			fmt.Fprintf(w, "  %s [shape=record label=\"{ %s | { %s }}\"]\n", machine.Name, machine.Name, ports)
 		}
 		for _, sw := range s.gr.Switches {
-			fmt.Fprintf(w, "  subgraph cluster%s {\n", sw.Name)
-			fmt.Fprintf(w, "    label = %s\n", sw.Name)
+			portNames := []string{}
 			for _, port := range sw.Ports {
-				a := sw.Name + "|" + port.Name
-				fmt.Fprintf(w, "    %q [label = %q]\n", a, port.Name)
+				name := fmt.Sprintf("<%s> %s", port.Name, port.Name)
+				portNames = append(portNames, name)
 			}
-			fmt.Fprintf(w, "  }\n")
+			ports := strings.Join(portNames, "|")
+			fmt.Fprintf(w, "  %s [shape=record label=\"{{ %s } | %s}\"]\n", sw.Name, ports, sw.Name)
 		}
 		for _, machine := range s.gr.Machines {
 			for _, port := range machine.Ports {
 				if port.OtherEnd == nil {
 					continue
 				}
-				a := machine.Name + "|" + port.Name
-				b := port.OtherEnd.Switch.Name + "|" + port.OtherEnd.Name
-				fmt.Fprintf(w, "  %q -- %q\n", a, b)
+				fmt.Fprintf(w, "  %s:%q -- %s:%q\n", machine.Name, port.Name, port.OtherEnd.Switch.Name, port.OtherEnd.Name)
 			}
 		}
 		fmt.Fprintf(w, "}\n")
