now applying analysis logic columnwise and blockwise during generation