levenshtein distance is hard to understand