vjr significant object and sub-object refactoring, incomplete, will all-but explode if you try to compile it. Don't do it. For your own safety. Don't do it. :-)