add isUnion