working on multigrid preconditioner