change backend to raise custom exceptions