clojure subtypes
updated fireplace