一些代码结构变动（需要修改）