Wasn't Eric Raymond's ccframe module supposed to support tools like this? Perhaps it useful to look at some of the ideas there. Jeremy