retry + fallback for void