incremental update (mostly prim)