have to take into account set operations, too