diff --git a/util/dijkstra/dijkstra.go b/util/dijkstra/dijkstra.go
deleted file mode 100644
index 722a568343f9683de9cabd7f041bb617aee9fc06..0000000000000000000000000000000000000000
--- a/util/dijkstra/dijkstra.go
+++ /dev/null
@@ -1,91 +0,0 @@
-package dijkstra
-
-type Topology struct {
-	nodes []Node
-	edges map[Node]map[Node]int64
-}
-
-type Node struct {
-	Name string
-}
-
-type Edge struct {
-	NodeA    Node
-	NodeB    Node
-	Distance int64
-}
-
-type SPT map[Node]Path
-
-type Path struct {
-	Edges    []Edge
-	Distance int64
-}
-
-// NewTopologay creates a new topology
-func NewTopologay(nodes []Node, edges []Edge) *Topology {
-	t := &Topology{
-		nodes: nodes,
-		edges: make(map[Node]map[Node]int64),
-	}
-
-	for _, e := range edges {
-		if _, ok := t.edges[e.NodeA]; !ok {
-			t.edges[e.NodeA] = make(map[Node]int64)
-		}
-
-		t.edges[e.NodeA][e.NodeB] = e.Distance
-	}
-
-	return t
-}
-
-// SPT calculates the shortest path tree
-func (t *Topology) SPT(from Node) *SPT {
-	spt := make(SPT)
-
-	for _, n := range t.nodes {
-		spt[n] = Path{
-			Edges:    make([]Edge, 0),
-			Distance: -1,
-		}
-	}
-
-	f := spt[from]
-	f.Distance = 0
-	spt[from] = f
-
-	baseDistance := int64(0)
-	for n, d := range t.edges[from] {
-		nPath := spt[n]
-		if nPath.Distance < 0 {
-			nPath.Distance = d
-			nPath.Edges = []Edge{
-				{
-					NodeA:    from,
-					NodeB:    n,
-					Distance: d,
-				},
-			}
-
-			spt[n] = nPath
-			continue
-		}
-
-		if spt[n].Distance < baseDistance+d {
-			continue
-		}
-
-		nPath.Distance += d
-		nPath.Edges = []Edge{
-			{
-				NodeA:    from,
-				NodeB:    n,
-				Distance: d,
-			},
-		}
-
-	}
-
-	return &spt
-}
diff --git a/util/dijkstra/dijkstra_test.go b/util/dijkstra/dijkstra_test.go
deleted file mode 100644
index 87ca0a88db4ca643e89f746c5aac49cadd3e8813..0000000000000000000000000000000000000000
--- a/util/dijkstra/dijkstra_test.go
+++ /dev/null
@@ -1,142 +0,0 @@
-package dijkstra
-
-import (
-	"testing"
-
-	"github.com/stretchr/testify/assert"
-)
-
-func TestSPT(t *testing.T) {
-	tests := []struct {
-		name     string
-		nodes    []Node
-		edges    []Edge
-		expected *SPT
-	}{
-		{
-			name: "Test #1",
-			nodes: []Node{
-				{
-					Name: "A",
-				},
-				{
-					Name: "B",
-				}, {
-					Name: "C",
-				}, {
-					Name: "D",
-				},
-			},
-			edges: []Edge{
-				{
-					NodeA:    Node{Name: "A"},
-					NodeB:    Node{Name: "B"},
-					Distance: 1,
-				},
-				{
-					NodeA:    Node{Name: "B"},
-					NodeB:    Node{Name: "A"},
-					Distance: 1,
-				},
-				{
-					NodeA:    Node{Name: "B"},
-					NodeB:    Node{Name: "C"},
-					Distance: 5,
-				},
-				{
-					NodeA:    Node{Name: "C"},
-					NodeB:    Node{Name: "B"},
-					Distance: 5,
-				},
-				{
-					NodeA:    Node{Name: "B"},
-					NodeB:    Node{Name: "D"},
-					Distance: 1,
-				},
-				{
-					NodeA:    Node{Name: "D"},
-					NodeB:    Node{Name: "B"},
-					Distance: 1,
-				},
-				{
-					NodeA:    Node{Name: "A"},
-					NodeB:    Node{Name: "D"},
-					Distance: 5,
-				},
-				{
-					NodeA:    Node{Name: "D"},
-					NodeB:    Node{Name: "A"},
-					Distance: 5,
-				},
-				{
-					NodeA:    Node{Name: "D"},
-					NodeB:    Node{Name: "C"},
-					Distance: 5,
-				},
-				{
-					NodeA:    Node{Name: "C"},
-					NodeB:    Node{Name: "D"},
-					Distance: 5,
-				},
-			},
-			expected: &SPT{
-				Node{Name: "A"}: Path{
-					Edges:    []Edge{},
-					Distance: 0,
-				},
-				Node{Name: "B"}: Path{
-					Edges: []Edge{
-						{
-							NodeA:    Node{Name: "A"},
-							NodeB:    Node{Name: "B"},
-							Distance: 1,
-						},
-					},
-					Distance: 1,
-				},
-				Node{Name: "C"}: Path{
-					Edges: []Edge{
-						{
-							NodeA:    Node{Name: "A"},
-							NodeB:    Node{Name: "B"},
-							Distance: 1,
-						},
-						{
-							NodeA:    Node{Name: "B"},
-							NodeB:    Node{Name: "D"},
-							Distance: 1,
-						},
-						{
-							NodeA:    Node{Name: "D"},
-							NodeB:    Node{Name: "C"},
-							Distance: 1,
-						},
-					},
-					Distance: 3,
-				},
-				Node{Name: "D"}: Path{
-					Edges: []Edge{
-						{
-							NodeA:    Node{Name: "A"},
-							NodeB:    Node{Name: "B"},
-							Distance: 1,
-						},
-						{
-							NodeA:    Node{Name: "B"},
-							NodeB:    Node{Name: "D"},
-							Distance: 1,
-						},
-					},
-					Distance: 2,
-				},
-			},
-		},
-	}
-
-	for _, test := range tests {
-		top := NewTopologay(test.nodes, test.edges)
-		spt := top.SPT(Node{Name: "A"})
-
-		assert.Equalf(t, test.expected, spt, "Test %q", test.name)
-	}
-}