Added data objects and helper superclasses