calculator by clojure
and so on