basic front end + 1/2 backend