updates on worker thread