added replace self.version