fixed handling of touch events