incremental update improved