added touch functions