factory重构
factory 修复