added more backend functionality