changing update to remove, simpler atomic operations