data source subclass