- added support for max retries
- added retry for retriable errors
- added exponential delay between retries