implement touch