added DirectedDFS