Why do we need two sweeps over the bcs here?