Beginning of DirectedGraph structure