improve dijkstra