make __str__ return based on self.pure