refactored match container definition