Major overhaul; port to bootstrap, transition away from flaskr