thanks for your help. Your code works. I guess the realization is that fun(self,*args) really is identical to self.fun(*args). An ordinary function called with the former syntax still works even if it really isn't an instance method. Danny