update threading paradigm