use DirectWorker