proper updating