added a fuzzy match function