- some dependencies reduced by using interface IDataset
- setKeys method is added to IDataset