I'm not sure about buffering internally. I think that padding will take care of the difference but I could be wrong about that. (E.g. a block that is too small will be padded out to be the right size). We should make sure about that.