More refactorings - added MatchResult enumerator