follow cursor - hook instead of poll