argument change rerender optimisation