          (cond (or (empty? url-queue)
                    (stop? {:visited    (count visited)
                            :leaf-left  leaf-limit
-                           :body       body}))
+                           :body       body
+                           :observed   (count observed)}))
                (do
                  (utils/sayln :crawl-done)
                  {:state  {:url-queue  url-queue

                      {entry-point {:body (:body body)
                                    :url entry-point
                                    :src-url nil
                                    :src-text nil}})))
  
  ([url-queue visited lookahead leaf? extract stop? leaf-paths leaf-limit corpus]
     (do
       (Thread/sleep 1000)
       (utils/sayln :queue-size (count url-queue))

                         {items :examples
                          leaf-paths-obs :leaf-paths
                          sampled-corpus :corpus
                          new-visited :new-visited
                          crawled :crawled}
                         (prepare-example (:xpath-nav-info state-action)
                                          (-> url-queue first :path)
                                          url
                                          leaf?)

                         new-observed (clojure.set/union (set crawled)
                                                         (set observed))
                         
                         new-queue (concat (rest url-queue) items)
                         new-corpus (merge corpus
                                           (reduce
