modify CollectWorker: refactor run method