fully working local touch functionality