moved shortestPath to another package