Add multi-thread support & divide model and parser