move matchers to separate module