split to matcher-core and matcher