remainder of backend api stuff, I think