refactoring MatchData (in progress)