complete algorithm for updating cells, incomplete algorithm for choosing what to update