direct (non-threaded) worker