restructured to look like a standard clojure project