added gesture handler