Gesture refactor