DataModel is abstract