edges use node ids instead of node objects now