implement use_single_thread