invert arguments in HandleRequest, add exceptions