refactoring so wordmatchers will become capable of trying different matches