basic front-end functionalities