调整了代码结构