node array instead of node list
simplify