     (let [first-char (first s1)
           remove-from-s2 (string-remove-char s2 first-char)]
       (if (nil? remove-from-s2)
-        (inc (string-char-counts-difference (clojure.contrib.string/drop 1 s1) s2))
-        (string-char-counts-difference (clojure.contrib.string/drop 1 s1) remove-from-s2)))))
+        (inc (string-char-counts-difference (.substring s1 1 (count s1)) s2))
+        (string-char-counts-difference (.substring s1 1 (count s1)) remove-from-s2)))))
       
 
 (define-registered in 

                       1)
                    s1
                    s2))
     (Math/abs (- (count s1) (count s2)))))

(defn string-remove-char
  "Returns s with first instrance of c removed, if c is in s. Otherwise, returns nil"

                                                                     (push-item input :string 
                                                                                (make-push-state))))
                                    top-string (top-item :string final-state)
                                    desired-output (let [short (.substring input 0 (max (- (count input) 2) 0))]
                                                     (str short short))]
                                (if (not (string? top-string))
                                  1000
