extract _purge to Purger