重构了部分代码
添加部分文档