Can you add a couple comments explaining why we're doing different things for the 0 and for the nonzero?