build the front end