重构基本结束，下一步是增加新的功能，拆分现有功能，分别对外提供接口