improve the front end