added support for complement set operation