retries now handled internally