fix factory.copy()