added snapping touch event