more refactoring for vop_ci