Implemented Union.cpp