fix touch event handler