more backend work, classes