Reorganize factory