web.js reads from disk