added touch device detection