improve work queue