gesture optimizations