Improved datalist handling