assignment operator has to be public