              (let [ ctx @context 
                     fca-ctx (get-context ctx)
                     attrs (attributes fca-ctx)
+                    inc (incidence fca-ctx)
+                    get-cross (fn [obj att] (if (contains? inc [obj att])
+                                              "X" " "))
                     attr-count (count attrs)
                     objs (objects fca-ctx)
                     obj-count (count objs)

    widget      _the widget object where the paste operation takes place
    old-columns _the number of rows that were present in the table before
    new-columns _the number of rows that will be needed for the paste"
             [widget old-columns new-columns]
             nil ;TODO update the other widgets col-counts and add dummy attrs
             )

           change-attribute-name
           (fn-doc "This function will change the name of the attribute in

    widget   _the widget object where the paste operation takes place
    old-rows _the number of rows that were present in the table before
    new-rows _the number of rows that will be needed for the paste"
             [table old-rows new-rows]
             (let [ other-widgets (filter
                                    (fn [w] (not= (w :table) table))
                                    @assoc-widgets)]
               (do
                 (one-by-one other-widgets
                   (fn [w] (!!!! (w :table) :extend-rows-to new-rows)))
                 (one-by-one (range old-rows new-rows)
                   (fn [x] (!! table :set-index-at x 0 "new object"))))))

           extend-columns-hook
           (fn-doc "This hook is called when the number of columns is extended
