Add shortest path finding method