Add recursive levenshtein implementation