more backend design changes