implements touch