updated data handling