more backend work + additional routes