fixed UndirectedGraph to use the DirectedGraph interface already defined instead of creating its own