Hi Jim, (or any zope-dev'ers who can explain this ;-) I've just been reading: http://www.zope.org/Members/jim/Info/IPC8/AcquisitionAlgebra ...and I've got confused on the 'Getting the containment wrapper' section. In anser to 'What is A.B.C.D?' I can't see how you can get: ((D o (C o A)) o (B o A)) Here's my working: A.B.C.D = (B o A) : .C.D = ((C o A) o (B o A)) : .D = ((D o C) o ((C o A) o (B o A))) You can't apply the simplification: ((Z o Y) o (Y o Z)) to the leftmost section 'cos the brackets are in the wrong place... so how to you make the jump to: = ((D o (C o A)) o (B o A)) (but should it?!) Also, is the definition "aq_inner is obtained by finding the innermost wrapped object" the same as "aq_inner is the 'self'/'object' part of the current aquisiton wrapper"? Confusedly and looking for help, Chris