重构+修改bug