Need removeEdge and equals, and documentation, and testing, but looking good