using t1 += t2 to avoid crash (WHY DOES IT WORK?????)
passing to copy constructor from reference and not pointer - better
taking name from lhs