use im_class, not self.class