 (defn render-import [state]
   (dom/textarea #js {:onKeyDown (send! :import) :rows 25 :cols 100}))
   
+(defn render-table-headings [headings]
+  (dom/thead nil
+    (apply dom/tr nil
+      (for [heading headings]
+        (dom/th nil heading)))))
+
 (defn render-summary [summary-rows]
   (dom/table nil
-    (dom/thead nil
-      (dom/tr nil
-        (dom/th nil "Account")
-        (dom/th nil "Amount")))
+    (render-table-headings ["Account" "Amount"])
     (apply dom/tbody nil
       (for [{:keys [account amount]} summary-rows]
         (dom/tr nil

                 :onBlur (send! :blur {:last? last?})}))
              (dom/td nil (if last? (dom/button #js {:type "button" :onClick (send! :create)} "Save"))))))))
    (dom/table nil
      (dom/thead nil
        (apply dom/tr nil
          (for [heading ["Date" "Description" "Debit Acct" "" "Amt" "" "Credit Acct" "Note"]]
            (dom/th nil heading))))
      (apply dom/tbody nil
        (for [tx (:txs @app-state)
              {:keys [date description to-account amount from-account note]} (tx-tds tx)]

    "Account: "
    (dom/input #js {:value register-account, :onKeyDown (send! :register)})
    (dom/table nil
      (render-table-headings ["Date" "Description" "Amount" "Note"])
      (apply dom/tbody nil
        (for [{:keys [date description amount note]} register-parts]
          (dom/tr nil
