added Union class