update single worker, make it more like the way we write code in sync framework