use origin term factory