pre update
total update