added touch events, first pass on mobile integration