multiblock reduce functional