add "return false" exprain of factory()