implemented node.js client