   (let [username (get-in @state [side :user :username])]
     (say state side {:user "__system__" :text (str username " " text ".")})))
 
-(declare prompt! forfeit trigger-event handle-end-run trash)
+(declare prompt! forfeit trigger-event handle-end-run trash update-advancement-cost)
 
 (defn pay [state side card & args]
   (let [costs (merge-costs (remove #(or (nil? %) (= % [:forfeit])) args))

    (resolve-ability state side derez-effect (get-card state card) nil))
  (trigger-event state side :derez card))

(defn advance [state side {:keys [card]}]
  (when (pay state side card :click 1 :credit 1)
    (system-msg state side "advances a card")
    (add-prop state side card :advance-counter 1)))

(defn forfeit [state side card]

                   (system-msg state side (str "installs " card-name " in " server))))
               (let [moved-card (move state side c slot)]
                 (trigger-event state side :corp-install moved-card)
                 (when (= (:type c) "Agenda")
                   (update-advancement-cost state side moved-card))
                 (when rezzed (rez state side moved-card {:no-cost true})))))))))

(defn play [state side {:keys [card server]}]
