move most of HTML to app.js