some basic front end and back end stuff