Initial implementation of Matcher