changes for multithread model