diff --git a/desktop/.gitignore b/desktop/.gitignore
index 6ba2f27e..53506894 100644
--- a/desktop/.gitignore
+++ b/desktop/.gitignore
@@ -3,3 +3,4 @@
 save.edn
 .nrepl-port
 \#*#
+/content-builder/
diff --git a/desktop/.lein-repl-history b/desktop/.lein-repl-history
deleted file mode 100644
index 7ca4dbe3..00000000
--- a/desktop/.lein-repl-history
+++ /dev/null
@@ -1,2 +0,0 @@
-vim 
-
diff --git a/desktop/build-osx.json b/desktop/build-osx.json
index 1eb650f0..0c8d3fb5 100644
--- a/desktop/build-osx.json
+++ b/desktop/build-osx.json
@@ -2,7 +2,7 @@
     "platform": "mac",
     "jdk": "/Users/brycecovert/Downloads/jre1.7.0_80.jre/Contents/Home/Archive.zip",
     "executable": "TicksTales", 
-    "appjar": "target/advent-0.0.1-SNAPSHOT-standalone.jar",
+    "appjar": "target/advent-standalone.jar",
     "mainclass": "advent/core/desktop_launcher",
     "resources": [
     ],
diff --git a/desktop/build-windows.json b/desktop/build-windows.json
index 2bb6c3b4..cc6f8f17 100644
--- a/desktop/build-windows.json
+++ b/desktop/build-windows.json
@@ -2,7 +2,7 @@
     "platform": "windows",
     "jdk": "/Users/brycecovert/Downloads/openjdk-1.7.0-u80-unofficial-windows-i586-image.zip",
     "executable": "TicksTales",
-    "appjar": "target/advent-0.0.1-SNAPSHOT-standalone.jar",
+    "appjar": "target/advent-standalone.jar",
     "mainclass": "advent/core/desktop_launcher",
     "resources": [],
     "minimizejre": "soft",
diff --git a/desktop/last-release b/desktop/last-release
new file mode 100644
index 00000000..0cfbf088
--- /dev/null
+++ b/desktop/last-release
@@ -0,0 +1 @@
+2
diff --git a/desktop/project.clj b/desktop/project.clj
index 01b899fe..98ce50f5 100644
--- a/desktop/project.clj
+++ b/desktop/project.clj
@@ -1,6 +1,10 @@
-(defproject advent "0.0.1-SNAPSHOT"
-  :description "FIXME: write description"
+(def version (str "0.1." (clojure.string/trim-newline (slurp "last-release"))))
 
+(defproject advent version
+  :description "FIXME: write description"
+  :manifest {"Implementation-Version" ~version}
+
+  :uberjar-name "advent-standalone.jar"
   :dependencies [[com.badlogicgames.gdx/gdx "1.5.3"]
                  [com.badlogicgames.gdx/gdx-backend-lwjgl "1.5.3"]
                  [com.badlogicgames.gdx/gdx-platform "1.5.3" :classifier "natives-desktop"]
@@ -12,10 +16,15 @@
   :source-paths ["src" "src-common"]
   :javac-options ["-target" "1.7" "-source" "1.7" "-Xlint:-options"]
   :omit-source true
-  :aliases {"pack" ["run" "-m" "com.badlogic.gdx.tools.texturepacker.TexturePacker" "asset-work/" "resources/packed/"]}
+  :aliases {"pack" ["run" "-m" "com.badlogic.gdx.tools.texturepacker.TexturePacker" "asset-work/" "resources/packed/"]
+            "script" ["run" "-m" "advent.analyze/dump-speech"]}
   :profiles {
              :dev {
-                   :dependencies [[com.badlogicgames.gdx/gdx-tools "1.5.3"]]
+                   :source-paths ["src" "src-common" "src-dev"]
+                   :dependencies [[com.badlogicgames.gdx/gdx-tools "1.5.3"]
+                                  [slamhound "1.5.5"]
+                                  [org.clojure/data.csv "0.1.3"]]
+                   
                    :warn-on-reflection true}
              }
   :aot [advent.core.desktop-launcher]
diff --git a/desktop/release.sh b/desktop/release.sh
new file mode 100755
index 00000000..2d1c1d63
--- /dev/null
+++ b/desktop/release.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+gawk -i inplace '  { print $1+1; } ' last-release
+lein do clean, compile, uberjar
+java -jar packr.jar build-windows.json
+java -jar packr.jar build-osx.json
+read -p "Steam pass: " STEAM_PASS
+./content-builder/builder_osx/steamcmd.sh +login digitalbouncehouse $STEAM_PASS +run_app_build ../scripts/app_build_411610.vdf +quit
+
diff --git a/desktop/src-common/advent/screens/rooms/inside_cafeteria.clj b/desktop/src-common/advent/screens/rooms/inside_cafeteria.clj
index ede3296a..381922c4 100644
--- a/desktop/src-common/advent/screens/rooms/inside_cafeteria.clj
+++ b/desktop/src-common/advent/screens/rooms/inside_cafeteria.clj
@@ -164,7 +164,7 @@
                                                {:run #(actions/respond entities % :ladder-guard "I am Took, son of Luke, son of Puke.")
                                                 :choices actions/previous-choices}
                                                "Goodbye."
-                                               {:run #(actions/respond entities % "Goodbye.")}]}))
+                                               {:run #(actions/respond entities % :ladder-guard "Goodbye.")}]}))
 
 (defn make [screen]
   (let [#_#_warriors-stand-sheet (texture! (utils/get-texture "inside-cafeteria/warriors-stand.png") :split 66 126)
diff --git a/desktop/src-common/advent/screens/title.clj b/desktop/src-common/advent/screens/title.clj
index 544b7dd8..db9ce0a9 100644
--- a/desktop/src-common/advent/screens/title.clj
+++ b/desktop/src-common/advent/screens/title.clj
@@ -13,6 +13,7 @@
             [advent.screens.inventory :as inventory]
             [advent.screens.safe :as safe]
             [advent.screens.fade :as fade]
+            [advent.version]
             )
   (:import [com.badlogic.gdx.graphics Pixmap Pixmap$Filter Texture Texture$TextureFilter]
            [com.badlogic.gdx.graphics.g2d TextureRegion]
@@ -253,7 +254,7 @@
                       :font font
                       :music music
                       :volume 1.0
-                      :copyright (make-label "DEMO - Copyright Bryce Covert - Not for distribution")
+                      :copyright (make-label (str "DEMO - Copyright Bryce Covert - Not for distribution - version " (advent.version/version)))
                       :tweens {:fade-in (tween/tween :fade-in screen [:fade :opacity] 1.0 0.0 1.0
                                                      :finish #(do
 
diff --git a/desktop/src-common/advent/version.clj b/desktop/src-common/advent/version.clj
new file mode 100644
index 00000000..25dd2922
--- /dev/null
+++ b/desktop/src-common/advent/version.clj
@@ -0,0 +1,5 @@
+(ns advent.version
+  (:gen-class))
+
+(defn version []
+  (-> (eval 'advent.version) .getPackage .getImplementationVersion))
diff --git a/desktop/src-dev/advent/analyze.clj b/desktop/src-dev/advent/analyze.clj
new file mode 100644
index 00000000..817be8c7
--- /dev/null
+++ b/desktop/src-dev/advent/analyze.clj
@@ -0,0 +1,35 @@
+(ns advent.analyze
+  (:require [slam.hound.asplode :as a]
+            [clojure.java.io :as io]
+            [clojure.pprint :as pprint]
+            [clojure.data.csv :as csv]
+            ))
+
+(defn get-speech [f]
+  (->> f
+       (io/file)
+       a/asplode
+       second
+       (tree-seq coll? seq)
+       (filter (fn [form] 
+                 (and (seq? form)
+                      (#{"talk" "respond" "actions/respond" "actions/talk" "actions/do-dialogue"} (str (first form))))))
+       (map (fn [call] 
+              (cond (= "actions/respond" (str (first call))) (drop 3 call)
+                    (= "talk" (str (first call))) [:ego (second call)]
+                    (= "respond" (str (first call))) [:frankie (second call)]
+                    :else (drop 2 call)
+                    )))
+       (reduce concat) 
+       (partition 2 )
+       (filter (comp (complement #{:anim :stop :stop? :animate?} ) first))
+       (map #(vector (name (first %)) (second %)))
+       ))
+
+(defn dump-speech []
+  (with-open [out-file (io/writer "target/script.csv")]
+    (csv/write-csv out-file (->>
+                           (file-seq (io/file "src-common"))
+                         (map #(.getPath %) )
+                         (filter #(.endsWith % ".clj") )
+                         (mapcat get-speech )))))
diff --git a/desktop/test.sh b/desktop/test.sh
deleted file mode 100755
index 993e1ed9..00000000
--- a/desktop/test.sh
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/bin/bash
-git mv resources/castle-gate/coinflip.pxa asset-work/castle-gate/coinflip.pxa
-git mv resources/castle-gate/frankie.pxa asset-work/castle-gate/frankie.pxa
-git mv resources/castle-gate/goon-1.pxa asset-work/castle-gate/goon-1.pxa
-git mv resources/castle-gate/goon-2-flip.pxa asset-work/castle-gate/goon-2-flip.pxa
-git mv resources/castle-gate/goon-2-search.pxa asset-work/castle-gate/goon-2-search.pxa
-git mv resources/castle-gate/goon-2-talk.pxa asset-work/castle-gate/goon-2-talk.pxa
-git mv resources/castle-gate/goon-2-walk.pxa asset-work/castle-gate/goon-2-walk.pxa
-git mv resources/castle-gate/goon-2.pxa asset-work/castle-gate/goon-2.pxa
-git mv resources/castle-gate/throw-walkie.pxa asset-work/castle-gate/throw-walkie.pxa
-git mv resources/cat-tree/cat.pxa asset-work/cat-tree/cat.pxa
-git mv resources/cat-tree/grandma-cry.pxa asset-work/cat-tree/grandma-cry.pxa
-git mv resources/cat-tree/grandma.pxa asset-work/cat-tree/grandma.pxa
-git mv resources/cat-tree/ladderbreak.pxa asset-work/cat-tree/ladderbreak.pxa
-git mv resources/cat-tree/monocle.pxa asset-work/cat-tree/monocle.pxa
-git mv resources/cat-tree/owl.pxa asset-work/cat-tree/owl.pxa
-git mv resources/dream/fairy-godfather.pxa asset-work/dream/fairy-godfather.pxa
-git mv resources/ego/axe.pxa asset-work/ego/axe.pxa
-git mv resources/ego/burnt.pxa asset-work/ego/burnt.pxa
-git mv resources/ego/cat-toy.pxa asset-work/ego/cat-toy.pxa
-git mv resources/ego/crawl.pxa asset-work/ego/crawl.pxa
-git mv resources/ego/crowbar.pxa asset-work/ego/crowbar.pxa
-git mv resources/ego/fire.pxa asset-work/ego/fire.pxa
-git mv resources/ego/frog.pxa asset-work/ego/frog.pxa
-git mv resources/ego/frustratedtalk.pxa asset-work/ego/frustratedtalk.pxa
-git mv resources/ego/get-sick.pxa asset-work/ego/get-sick.pxa
-git mv resources/ego/glad.pxa asset-work/ego/glad.pxa
-git mv resources/ego/grow-talk.pxa asset-work/ego/grow-talk.pxa
-git mv resources/ego/grow.pxa asset-work/ego/grow.pxa
-git mv resources/ego/hold-up-to-window.pxa asset-work/ego/hold-up-to-window.pxa
-git mv resources/ego/idea.pxa asset-work/ego/idea.pxa
-git mv resources/ego/love.pxa asset-work/ego/love.pxa
-git mv resources/ego/pant.pxa asset-work/ego/pant.pxa
-git mv resources/ego/reach.pxa asset-work/ego/reach.pxa
-git mv resources/ego/scared-walk.pxa asset-work/ego/scared-walk.pxa
-git mv resources/ego/scared.pxa asset-work/ego/scared.pxa
-git mv resources/ego/shock.pxa asset-work/ego/shock.pxa
-git mv resources/ego/shoot.pxa asset-work/ego/shoot.pxa
-git mv resources/ego/sigh.pxa asset-work/ego/sigh.pxa
-git mv resources/ego/spear.pxa asset-work/ego/spear.pxa
-git mv resources/ego/squat.pxa asset-work/ego/squat.pxa
-git mv resources/ego/stand.pxa asset-work/ego/stand.pxa
-git mv resources/ego/standup.pxa asset-work/ego/standup.pxa
-git mv resources/ego/suspended.pxa asset-work/ego/suspended.pxa
-git mv resources/ego/swing.pxa asset-work/ego/swing.pxa
-git mv resources/ego/swingshovel.pxa asset-work/ego/swingshovel.pxa
-git mv resources/ego/talk.pxa asset-work/ego/talk.pxa
-git mv resources/ego/throw.pxa asset-work/ego/throw.pxa
-git mv resources/ending-castle/duke.pxa asset-work/ending-castle/duke.pxa
-git mv resources/ending-castle/game-player.pxa asset-work/ending-castle/game-player.pxa
-git mv resources/ending-castle/warden.pxa asset-work/ending-castle/warden.pxa
-git mv resources/ending-castle/warden2.pxa asset-work/ending-castle/warden2.pxa
-git mv resources/held/bloodclot-head.pxa asset-work/held/bloodclot-head.pxa
-git mv resources/inside-antique/antique-sigh.pxa asset-work/inside-antique/antique-sigh.pxa
-git mv resources/inside-antique/clock.pxa asset-work/inside-antique/clock.pxa
-git mv resources/inside-cafeteria/knighta.pxa asset-work/inside-cafeteria/knighta.pxa
-git mv resources/inside-cafeteria/knights-stand.pxa asset-work/inside-cafeteria/knights-stand.pxa
-git mv resources/inside-castle/brian-working.pxa asset-work/inside-castle/brian-working.pxa
-git mv resources/inside-castle/door.pxa asset-work/inside-castle/door.pxa
-git mv resources/inside-castle/game-player-talk.pxa asset-work/inside-castle/game-player-talk.pxa
-git mv resources/inside-castle/hands.pxa asset-work/inside-castle/hands.pxa
-git mv resources/inside-house/candle-aura.pxa asset-work/inside-house/candle-aura.pxa
-git mv resources/inside-jail/candle.pxa asset-work/inside-jail/candle.pxa
-git mv resources/inside-jail/warden.pxa asset-work/inside-jail/warden.pxa
-git mv resources/inside-stash/candle.pxa asset-work/inside-stash/candle.pxa
-git mv resources/left.pxa asset-work/left.pxa
-git mv resources/outside-castle/talk.pxa asset-work/outside-castle/talk.pxa
-git mv resources/outside-jail/axe-wood.pxa asset-work/outside-jail/axe-wood.pxa
-git mv resources/outside-jail/axe.pxa asset-work/outside-jail/axe.pxa
-git mv resources/outside-jail/candle-aura.pxa asset-work/outside-jail/candle-aura.pxa
-git mv resources/outside-jail/candle.pxa asset-work/outside-jail/candle.pxa
-git mv resources/outside-jail/fountain.pxa asset-work/outside-jail/fountain.pxa
-git mv resources/outside-jail/guard-sleep.pxa asset-work/outside-jail/guard-sleep.pxa
-git mv resources/outside-jail/open-stash.pxa asset-work/outside-jail/open-stash.pxa
-git mv resources/outsidehouse/cauldron.pxa asset-work/outsidehouse/cauldron.pxa
-git mv resources/outsidehouse/door.pxa asset-work/outsidehouse/door.pxa
-git mv resources/outsidehouse/lamb.pxa asset-work/outsidehouse/lamb.pxa
-git mv resources/outsidehouse/sheep-walk.pxa asset-work/outsidehouse/sheep-walk.pxa
-git mv resources/outsidehouse/sheep.pxa asset-work/outsidehouse/sheep.pxa
-git mv resources/right.pxa asset-work/right.pxa
-git mv resources/space/blergh-appear.pxa asset-work/space/blergh-appear.pxa
-git mv resources/space/bloodclot-head-talk.pxa asset-work/space/bloodclot-head-talk.pxa
-git mv resources/space/bloodclot-stand.pxa asset-work/space/bloodclot-stand.pxa
-git mv resources/space/bloodclot-talk.pxa asset-work/space/bloodclot-talk.pxa
-git mv resources/space/bullet.pxa asset-work/space/bullet.pxa
-git mv resources/space/explode.pxa asset-work/space/explode.pxa
-git mv resources/space/grow.pxa asset-work/space/grow.pxa
-git mv resources/title/balloon.pxa asset-work/title/balloon.pxa
-git mv resources/wizard/disappear.pxa asset-work/wizard/disappear.pxa
-git mv resources/wizard/experiment.pxa asset-work/wizard/experiment.pxa
-git mv resources/wizard/magic-hands.pxa asset-work/wizard/magic-hands.pxa
-git mv resources/wizard/talk-angry.pxa asset-work/wizard/talk-angry.pxa
-git mv resources/wizard/talk.pxa resources/wizard/talk.pxa
