thread worker model is now working