added caching/local repos to optimistic and pessimistic, plus finite
exponential backoff