90% finished dataSet class