attempting to make update more efficient