my clojure genral function