retry with exponential backoff