still need comments in UndirectedNode and Graph