Simplify worker_loop