make DescriptorBase abstract, needed for serialization