moved datasource methods to subclass, other minor changes.