added touch device support