working on node implementation