That's very cool! IIRC I tried to write a very simple Turbo Vision clone (or subset) but I couldn't fully comprehend how the nested widget initialization worked. I mean, I knew the last parameter was a pointer to the next widget, and so on and on, but somehow I couldn't "integrate" everything in my brain :).