revised web.js