add code to get the shortest path, not mine. :S