Almost all I needed to do to make this palette was to create a new IB palette module in Interface Builder, parse in all the Square views of Ergo and add them to the classes needed for the project, and drop the (properly named) tiff images for the palette button into the Icon suitcase in I.B. I then simply created a small Panel of about the right size for the Palette view in I.B. and added four custom views to it (re-named to be Ergo Views). Finally, I had to add an awake method to AbstractSquare that calls initFrame: (I.B. palette objects get un-archived, not alloc/init'ed; if they still need to perform some initialization code (like Ergo squares do), you need to add an awake method). The "almost all" above is due to the following trick you need to know when using hierarchies of classes in loadable palettes: Double-click on IB.proj. Notice the order of the classes loaded by it; I have re-ordered them in I.B. by Control/Dragging so that every superclass is listed before its subclasses are listed. I.B. needs this ordering help or it will declare a superclass "missing" when loading the subclass. Charles P.S. -- I've made the size of the standard palette squares smaller than normal Ergo squares partly so you can tell which boards are palette-created but mostly because they fit better into the I.B. Palette view that way.