well documented webapp.js and util.js