interfaces to model abstract schema types