more member rule refactoring