more powerful gesture recognizer