replace a whole bunch of update() with find_and_modify to be more "atomic"?