combined front end and backend