refactor mi_system model