Add retry with exponential backoff