added touch event handlers