added TouchEvent class