Thanks Guy for the usual quick response. :-) Just a couple of quick questions: 1. What's the diff between rb_iv_set() and rb_ivar_set()? When do you use either of them? 2. When you use: VALUE Foo = Data_Wrap_Struct(cFooClass, 0, NULL, data); Does Ruby automatically invoke the .new constructor of FooClass? Which in turn invokes the .initialize method too? p.s. Do you ever sleep? ;-) -- Wai-Sun "Squidster" Chia Unix/Web Developer/RHCE Professional Services