modified web.js 2