improved multi blockwise