add handle union type