rebuilding mobile.js and readonly interface, closes #236