修改完善代码,优化内部结构