at least sleep on error, should be exponential backoff