code refactor, still not converging properly for multiblock