added node.js support