DataSet and Batch now inherit BaseSet
ramblings about how to integrate criteria into model
added some abstract classes. removed ramblings