add backoff_factor and backoff_max