Clean gesture implementation