all dynamic memory from copy/assignment operator should be cleaned up