added dynamic update