improve gesture event