Framework update: change multi-thread to single-thread