整理了部分代码结构