Add gesture recognizer
Refactor