重构了部分代码，为下一步修改做准备