attached String method to EditOperation type
diff --git a/levenshtein/levenshtein.go b/levenshtein/levenshtein.go
index e08e405..c88fa5d 100644
--- a/levenshtein/levenshtein.go
+++ b/levenshtein/levenshtein.go
@@ -13,6 +13,8 @@
 	match
 )
 
+type EditScript []EditOperation
+
 type MatchFunction func(rune, rune) bool
 
 type Options struct {
@@ -33,7 +35,16 @@
 			},
 }
 
-type EditScript []EditOperation
+func (operation EditOperation) String() string {
+	if operation == match {
+		return "match"
+	} else if operation == ins {
+		return "ins"
+	} else if operation == sub {
+		return "sub"
+	}
+	return "del"
+}
 
 // DistanceForStrings returns the edit distance between source and target.
 func DistanceForStrings(source []rune, target []rune, op Options) int {
@@ -124,18 +135,6 @@
 	}
 }
 
-// TODO use this for providing a string representation of edit scripts?
-func opString(operation EditOperation) string {
-	if operation == match {
-		return "match"
-	} else if operation == ins {
-		return "ins"
-	} else if operation == sub {
-		return "sub"
-	}
-	return "del"
-}
-
 func backtrace(i int, j int, matrix [][]int, op Options) EditScript {
 	if i > 0 && matrix[i - 1][j] + op.DelCost == matrix[i][j] {
 		return append(backtrace(i - 1, j, matrix, op), del)