refactored match set subclasses