you can assume `dataList` is defined