added fuzzy search functionality and unit tests