adding shortest_path feature (dijkstra)