remove return self.surface