refactoring
dijkstra step 1