adding more backend functionality, needs to be tested