implement basic features of the matcher