Add Union and make some code's factorisation