add RetryPolicy
retry requests based on RetryPolicy, handle request timeouts