updated data struct