fixed Union(), implemented Copy & corresopnding tests
fixed union, added Copy to do so, & corresponding TDD