windowing work and worker thread