if n is 1, should just return self.