I am using monkey patches to modify Zope. I modify UserFolder.py by providing replacements for a number of methods. These methods are simply defined in an __init__.py in a module in the product folder, MyUserFolder. The UserFolder class is imported, the new overriding methods defined, and, at the end, InitializeClass is imported from Globals, and the patched procedure names assigned to their correspondiong names in Userfolder namespace, and InitializeClass() called on the UserFolder. The new code is fairly cautious about persistence. Use is made of PersistentMapping and PersistentList for mutable structures. I've been having occasional crashes of the Zope system with a diagnostic AttributeError: Surrogate instance has no attribute '_p_oid' which I have finally traced to the UserFolder modifications! Apparently I have somehow broken the persistence mechanism in my monkeypatching. Advise on what the problem might be and how to repair it would be very helpful. -dra