fixed touch handling