depth first directed paths
breadth first directed paths done