touching and untouching implemented