moved dijkstra to seperate classes