add more nodes
clean up and refactor code