              (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-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"
             [widget old-rows new-rows]
             nil ;TODO update the other widgets row-counts and add dummy objs
             )

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

                             current-name (object-rows model-row)]
                        (if (= contents current-name) current-name
                          (change-object-name model-row contents)))
                      true ;else
                      (let [ cross (string-to-cross contents)
                             obj-name (@obj-rows model-row)
                             attr-name (@attr-cols model-column)
                             fca-ctx (get-context @context)
                             inc (incidence fca-ctx)
                             current-state (contains? inc [obj-name attr-name])]
                        (do
                          (if (not= current-state cross)
                            (update-incidence obj-name attr-name cross))
                          (if cross "X" " ")))
                      )
                    other-widgets (filter
                                    (fn [w] (not= (w :table) table))
                                    @assoc-widgets)]
