more cleanup
added copy constructor
more cleanup