avoid collect and recoverWith