self.root -> root