- Added copy constructor
- Added copy assignment operator
- Added destructor
- Cleaned up memory management code
- Added swapping