use node iterator instead of node_i