some fixes to the operators
add copy constructor and destructor