Hi folks, I just got back from a trip. Sorry for the delay. There've been a lot of good suggestions in this thread. Sean O'Dell wrote: > Why not just put it in its own module and give it a name that indicates > it's definitely a very "flavored" sort of pretty printer? Then, if > someone comes along with an idea that conflicts with how pretty printing > is done, just make another flavor of pretty printing in its own module. As I mentioned, because I don't see an easy way of taking PP out of the classes. Each object in REXML knows how to format itself for output (OOP). If I take PP out of the classes, the amount of code will increase significantly, and it'll break the OO model. I'm trying to think of a sort of "rules" mechanism WRT whitespace, where you pass a set of formatting rules to write() and the objects use the rules to format their output. --- SER