Added touch event handling