See the discussion of the MacroCommand class on pages 234 and 235 of ''DesignPatterns''. --JohnVlissides ---- I HaveThisPattern. I have used it in a simple undo/redo framework for Gtk+ to allow a single user interface action to perform multiple commands that could be undone/redone as one. Emacs does the same thing. --NatPryce