front end is the worst