better Dataset subclasses