implemented touch gestures