Better update fn.