implemented touch listeners