refactor memberDecl