assign to *this in member function