             :backwardtable
                 (update-table (:backwardtable state) (reverse words))
             :n-grams
-                (update-ngrams (:n-grams state) words))))
+                (update-ngrams (:n-grams state) (remove keyword? words)))))
 (defn log-sentence! [message]
     (with-open [out (writer corpus-file :append true)]
         (.write out (str message "\n"))))

            (reverse (take 500 (stream-of-shite (reverse seed) backward))))
        (take 500 (stream-of-shite seed forward))))

(defn generate-sentence [state keywords]
    (println "keywords: " keywords "\n")
    (if (empty? keywords)
        (remove keyword? (map first
            (apply max-key #(count (filter true? (map second %)))

                    (:backwardtable state)
                    (:forwardtable state)))))))
        (let [filtered-grams
                (apply concat
                    (map
                        (fn [k]
                            (subseq (:n-grams state)
                                >= (extend-vec [k] "" prefix-length)
                                < (extend-vec [(append-null k)] "" prefix-length)))
                        keywords))]
            (if (empty? filtered-grams)
                (generate-sentence state [])
                (generate-sentence
