get rid of the `while(true)`
more OO + functional. now we have reified nodes and edges live by the nodes