configurable retry