new methods for blockwise solving