重新划分模块，这样对包的依赖更加紧凑