trying a new more precise way to update datalist + other minor changes