lots of front end stuff