Matcher refactoring #9