added support for touch events