修改了部分代码使其合理