switch to node implementation