added express.js compatibility