added a better matcher2