Added bidirectional and all pairs shortest path routing