added a gesturemixin to handle touch devices