重构整个模型,进行调整,缩减了代码