+ add edit distance algorithm