 
           ;; Active top-down var -- add actions
           (util/find-first #(not (env/get-var s (free-var %))) (map second na-tuples))  
-            (apply concat (vals (util/safe-get-in dtgs [x (env/get-var s x)])))
+            (for [as (vals (util/safe-get-in dtgs [x (env/get-var s x)])), a as]
+              (make-add-action-action a))
 
           ;; Inactive top-down var -- activate it
           (first (map second na-tuples))

          (util/find-first (fn [[pv cv]] (env/get-var s (parent-var pv cv))) aa-parent-edges)
            (let [[pv cv] x, 
                  p-val (env/get-var s pv)
                  d-val (util/safe-get-in (env/get-var s (action-var cv)) [:precond-map pv])]
              (apply concat (map (get-in dtgs [pv p-val]) (acyclic-succ-fn pv p-val d-val))))

          ;; Inactive bottom-up var -- needs to be assigned.  
          (first aa-parent-edges)


(defn current-child [s child-var-map p-var]
  (when-not (env/get-var s (free-var p-var))
    (util/find-first #(env/get-var s (parent-var p-var %))
      (child-var-map p-var))))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Actions fn, actual env ;;;;;;;;;;;;;;;;;;;;;;;;;;;

