documentation for levenshtein algorithm