all backend functions tested, 1 currently broken