the edges are being kept in a hash inside of the nodes