add touch input support