added touch functionality