        ;;(info :coll-select val incoming)
        val))))
 
-(defn score-aggregate-select
-  [vertex]
-  (if (> 3 (count (vals (peek (::f/uncollected @(:state vertex)))))) 0 1))
+(defn score-collect-min-signal-vals
+  [num]
+  (fn [vertex]
+    (if (> num (count (vals (peek (::f/uncollected @(:state vertex)))))) 0 1)))
+
+(defn score-collect-min-signals
+  [num]
+  (fn [vertex]
+    (if (> num (count (::f/uncollected @(:state vertex)))) 0 1)))
 
 (defn aggregate-select
   [g]

          res (f/add-vertex!
               g {:val (delay nil)
                  ::f/collect-fn (aggregate-select g)
                  ::f/score-collect-fn score-aggregate-select})]
      (f/add-edge! g subj acc signal-select [0 s])
      (f/add-edge! g pred acc signal-select [1 p])
      (f/add-edge! g obj  acc signal-select [2 o])

     :all all
     :toxi toxi
     :types types
     :knows knows
     :projects projects
     :pq pq
     :jq jq
     :num-projects num-projects
     :num-types num-types}))
