return *this practise
merge with adding friend class