              (when "ui/onClick" {:elem-id "addrule"})
              (when "active project" {:project-id 'project})
              (when "time" {:time 'time})
-             (func 'ruleId "aurora.util.core.new_id()")
+             (func 'ruleId "'rule' + project + time")
              (remember "editor rules" {:rule-id 'ruleId :project-id 'project :timestamp time})
              (change "matcher state" {:active 'active :state 'state} {:active "true" :state 'state})
              (change "rule editor active" {:rule-id 'prev} {:rule-id 'ruleId}))

             (when "ui/onClick" {:elem-id "add-child-button"})
             (when "rule editor active" {:rule-id rule})
             (when "ui/editor-root" {:rule-id 'rule :clause-id 'rid :root 'root  :timestamp '_})
             (when "cursor" {:clause-id 'rid})
             (when "draw editor active elem" {:elem-id 'elem})
             (func 'elemClause "aurora.util.core.new_id()")
             (func 'elemClause2 "elemClause")
             (func 'childClause "aurora.util.core.new_id()")
             (change "draw editor active elem" {:elem-id 'elem} {:elem-id 'elemClause})
             (remember "ui/editor-elem" {:rule-id 'rule :root-clause-id 'rid :clause-id 'elemClause})
             (remember "editor clause fields" {:rule-id 'rule :clause-id 'elemClause :constant|variable|expression "constant" :val 'elemClause2 :key "elem-id"})

             (when "matcher filter" {:filter 'text})
             (when "filter" {:js "text.indexOf('[') > -1"})
             (when "matcher clause" {:clause-type type})
             (when "time" {:time 'time})
             (func 'neue "'madlib' + rule + time")
             (forget "matcher clause" {:clause-type 'type})
             (change "matcher filter" {:filter 'text} {:filter ""})
             (change "matcher state" {:active 'active :state 'state} {:active "false" :state "clause"})
