refactored a bunch, robust retries