重构大量代码，使之更加模块化