refactoring matchs