                           :published 0
                           :last_received 0
                           :recipient_count 0}
-                          (apply merge-with (cons concat (map parser related))))
+                          (apply merge-with (cons concat (map parser (cons badge related)))))
            :issued_on  (u/str->epoch (:issuedOn assertion))
            :expires_on (u/str->epoch (:expires assertion))
            :evidence evidence)))
+
 ;;;
 
 (defmethod badge-content :default [initial assertion]


(defmethod verify-assertion :v2.0 [url asr]
  (let [kind (get-in asr [:verify :type] (get-in asr [:verification :type]))]
    (when (and url (or (= kind "hosted") (= kind "HostedBadge")))
      (if (not= (:id asr) url)
        (throw (IllegalArgumentException. "invalid assertion, verify url mismatch")))
      (if (map? (:badge asr))
        (if (not= (domain (get-in asr [:badge :id])) (domain (:id asr)))
          (throw (IllegalArgumentException. "invalid assertion, verify url mismatch")))
        (if (not= (domain (get-in asr [:verify :url])) (domain (:badge asr)))
          (throw (IllegalArgumentException. "invalid assertion, verify url mismatch")))))))

(defmethod verify-assertion :default [url asr]



(defn- domain [url]
  (last (re-find #"^https?://([^/]+)" (str url))))

(defn- badge-image [input]
  (let [image (if (map? input) (get-in input [:badge :image] "") input)]
