Some changes to non_blocking_request - throws better errors.