self dependency removal