Moved methods back to AbstractDataset after uncle P not happy.