touches now correctly deals with sets