 	  ;; apply
 	  (fn [hook]
 	      (applicator
-	       (fn [src-model src-key]
-		   ;;(println "SPLIT: " src-key src-model)
-		   (dsplit src-model split-key split-fn identity
-			   (fn [tgt-model tgt-key]
-			       (insert *metamodel* tgt-model)
-			       (hook tgt-model tgt-key)
-			       tgt-model))
+	       (fn [src-model src-value]
+		   (do-split src-model split-key split-fn identity
+			     (fn [tgt-model tgt-key]
+				 (println "SPLIT: " src-value tgt-key)
+				 (insert *metamodel* tgt-model)
+				 (hook tgt-model tgt-key)
+				 tgt-model))
 		   src-model)))
 	  "split"
 	  ])

		  ;;                 Object       the-date count       split(type/time)
		  (println "COUNT[2]: " src-key-type src-value tgt-key ": " src-model)
		  (let [src-values [src-value] ;TODO
			tgt-model (do-reduce-count src-model src-values tgt-metadata :count "dummy")] ;TODO - parameterise :count
		    (insert *metamodel* tgt-model)
		    ;;(connect src-model tgt-model)
		    (hook tgt-model tgt-key)
		    tgt-model)))
	     )

	    ;;src-types (map
	    src-key-type Object
	    tgt-metadata (count-reducer-metadata (map (fn [key] (.getAttribute src-metadata key)) src-keys))
	    tgt-key :count]
	[ ;; get metadata / key
	 (fn [] [tgt-metadata tgt-key])
	 ;; apply
