added touch event binding