added node.js require support