segmentation implemented