改善了代码结构