implemented the nodes