factory重构
factory bug fix