implementing more backend functionality for this page