restructure dijkstra