[update] optimise