undirected graphs implemented and appear to be working