isUnion implemented