work on dataset implementation