split up longest/shortest path; still need to do bfs and cleanup driver