add retry algorithms