allow subclassing for secondary data types
allow subclassing for secondary data types