move factory to factory package