add touch event detection