fix several member function