Improve touch algorithms