removed CouldNotSatisfyError and pass actual error as argument to onError instead