fix API of union