front end and controllers stuff