Working on DirectedGraph