修改的更具有模块性