Basic matcher class