This error handling should be ironed out so that his caller no longer cares about status codes... I mean really why would we couple backed status code to the frontend?