add queue_purge() and _purge working