        [:h3 "Examples"]
        [:p "Here are some example filters to get you started!"]
        [Examples current-profile [
-                                  "(startsWith? :FirstName \"M\")" 
+                                  "(starts-with? :FirstName \"M\")" 
                                   "(= :LaborRoleID \"APPLDEVL\")"
-                                  "(= :WorkTeamID $WorkTeamID)"
-                                  "(substring? :Title \"Quality\")"
-                                  "(>= :UserID $UserID)"
+                                  "(= :WorkTeamID $WorkTeamID) ; Klicksters in your team "
+                                  "(substring? :Title \"Quality\") ; Klicksters that have 'Quality' in their title"
+                                  "(> :UserID $UserID) ; Klicksters that got hired after you"
                                   "(= :KeyscanStatus \"In 4th Flr N\")"
-                                  "(or (startsWith? :FirstName \"M\") (substring? :Title \"Edit\"))"
-                                  "(startsWith? :KeyscanStatus \"In\")"
+                                  "(or (starts-with? :FirstName \"M\") (substring? :Title \"Edit\"))"
+                                  "(starts-with? :KeyscanStatus \"In\")"
+                                  "(includes? :Supervisors $UserID) ; Klicksters who report to you"
                   ]]
        [:hr]
        [:h3 "References"]

(defn home-page []
  (try
    [:div
     (let [people (filter-people @people-atom)]
       (cond
         (nil? people) [:h2 "There has been an error while applying your filters!"]
         (= 0 (count people)) [:h2 "No one that fits your filters is in!"]
         :else (for [[floor people] people]
                 ^{:key floor} [Floor floor people])))]
    (catch :default e
      (prn e)
      [:h2 "There has been an error while applying your filters!"])))

              ((fn [new-expr]
                 `(fn [~my-user]
                    (let [~'substring? (fn [~'string ~'subsstr] (> (.indexOf ~'string ~'subsstr) -1))
                          ~'starts-with? (fn [~'string ~'substr] (.startsWith ~'string ~'substr))
                          ~'includes? (fn [~'coll ~'item] (some #{~'item} ~'coll))]
                      ~new-expr))) ,,,,) 
              ((fn [expr] (prn expr) expr))
              (eval-str ,,,))))

(defn nil->Out [by-floors]
  (into {}
        (for [[k v] by-floors]
          [(if (nil? k) "Out!" k) v]))  )


(defn filter-people [people]
  (try
    (if-not (empty? @filters)
      (let [my-filters (map #(create-filter-fn all-profile-keys %) @filters)]
        (filter (apply every-pred my-filters) people))
      people)
    (catch :default e
      (println "Error while filtering")
      (prn e))))


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
