refact IdWorker