Updated for compatibility with latest Node.js.