self segmentation added