segmented factory