constructor, assignment operator, destructor example