move self.type to convertible