complete back/front-end rewrite