update to use DataSet