update struct