added touch detection & support