Initial implementation of the front end