加入了一些注释，格式化了部分代码