Very basic error handling for requests, needs to be more granular and allow recovery but it is a start