dynamic update final