refacor to support new matchers