handle clientfailureexception rather than just internalservererrorexception
made constructor public and added a constructor from throwable