membertype refactored