recover for failures
try recoverWith