fix touch handler