copy/move constructor, Operator= and move assignment