auto-retry requests, cleaned up responsibilities