                             (cycle-level- [s] nil)
   env/AngelicAction         (optimistic-map [s]
                                {(env/set-vars s [[[:base] dst] [[:gripper-offest] [0 0]]])
-                                (move-base-reward (env/get-var s [:base]) dst)})
+                                (move-base-reward (env/get-var s [:base]) dst (env/get-var s [:gripper-offset]))})
                             (pessimistic-map [s] {})))
 
 ;                              (let [base (env/get-var s [:base])

  env/AngelicAction         (optimistic-map [s]
                              (let [opos (env/get-var s [:pos o])]
                                (into {}
                                 (for [go (possible-grasp-gos s (env/get-var s [:base]) opos)]
                                   [(env/set-vars s [[[:gripper-offset] go]
                                                     [[:pos o] nil] [[:holding] o]
                                                     [[:object-at opos] nil]])

                                           go   (sub-pos gpos base)
                                           a    (make-reach-hla env go)]
                                     :when a]
                                 [a (make-putdown dirname base go o dst) (make-reach-hla env [0 0])])))
                            (cycle-level- [s] nil)
  env/AngelicAction         (optimistic-map [s]
                              {(env/set-vars s [[[:gripper-offset] [0 0]]
                                                [[:pos o] dst] [[:holding] nil]
                                                [[:object-at dst] o] [[:at-goal? o] true]])
                               (drop-reward (env/get-var s [:base])
                                            (env/get-var s [:gripper-offset]) dst )})
                            (pessimistic-map [s] {})))

; Old version -- not forced back to origin.
;                                (into {}
;                                 (for [go (possible-grasp-gos (env/get-var s :const) (env/get-var s [:base]) dst)]
;                                   [(env/set-vars s [[[:gripper-offset] go]
;                                                     [[:pos o] dst] [[:holding] nil]
;                                                     [[:object-at dst] o] [[:at-goal? o] true]])
;                                    (+ putdown-reward
;                                       (move-gripper-reward (env/get-var s [:gripper-offset]) go))]))                                        
;manhattan
;pess: SLD?  

