Greetings Zopistas! I have been a Zope tinkerer for a few years and have never been able to adequately solve this problem: When I create a Product class with DTML/ZPT methods, how can I make those methods members of the class rather than simply instance methods? These examples should illustrate what I mean. My first try was like this: class HyperTextArea(Implicit, Globals.Persistent, RoleManager, Item): def __init__(self,resourcePath, imageFolder): self.my_method = Globals.HTMLFile("dtml/my_method",globals()) That works fine until you want to add a new method to your class like so: class HyperTextArea(Implicit, Globals.Persistent, RoleManager, Item): def __init__(self,resourcePath, imageFolder): self.my_method = Globals.HTMLFile("dtml/my_method",globals()) self.my_new_method = Globals.HTMLFile("dtml/my_new_method",globals()) new instances of your product will get the my_new_method, but instances that have already been created will not. My second try was like this: class HyperTextArea(Implicit, Globals.Persistent, RoleManager, Item): def my_method(self, REQUEST): """ template """ if (not hasattr(self,"my_method_member")): self.my_method_member = Globals.DTMLFile("dtml/my_method",globals()) return self.my_method_member(self,REQUEST) This allows me to add methods to the class at any time and all instances will get the method. However, for some reason, when I use this pattern, i get strange acquisition results (for example, some of my objects children's dtml methods will use the parent's namespace for lookups). Currently, I'm doing this: class HyperTextArea(Implicit, Globals.Persistent, RoleManager, Item): def my_method(self, REQUEST): """ template """ self.my_method_member = Globals.DTMLFile("dtml/my_method",globals()) return self.my_method_member(self,REQUEST) which seems ugly, and like it might have performance problems, but i haven't had any acquisition problems yet. My real question here is: What is the standard way to handle this problem of being able to add dtml/zpt methods to classes such that all instances of those classes get the new methods? Thanks in advance for any insight. Sincerely, Keith Alperin