adding node.js implementation