adding front-end functionality