add touch handlers