added onTouch functionality