fixed union generation