improve gesture recognizer