nodes and edges