Some improvements on Matcher