add retry functionality