use update rule to control when updates occur