now using gesture api (currently less reliable, but hopefully will be improved)