anchor.diff:      else
         call DOUG_abort('SpMtx_keep_subd_wol: Matrix arrangment not done!',19)
       endif
  +    frontend(0)=nfront
       !write(stream,*)'I have ',sum(helper),' neighbours!'
       M%nnghbrs=sum(helper)
       allocate(M%nghbrs(M%nnghbrs))
  
positive.code:     !  ghost values in Ax operation
      !if ol>0, then the subdomain expands in ol layers (for solves)
  
  
      deallocate(front)
      deallocate(helper)
    end subroutine SpMtx_keep_subd_wol
  
    subroutine SpMtx_buildAdjncy(A,nedges,xadj,adjncy)
      use globals, only : stream, D_MSGLVL
  
negative.code:     endif
    end subroutine SpMtx_aggregate
  
    subroutine SpMtx_DistributeAssembled(A,A_interf,A_ghost,M)
      use Graph_class
      use Mesh_class
      implicit none
  
      type(SpMtx),intent(inout) :: A,A_interf,A_ghost
      type(Mesh)                :: M
      integer :: i,ierr,n
      integer, dimension(:), pointer :: xadj
      integer, dimension(:), pointer :: adjncy
      integer                        :: nedges
      type(Graph) :: G
      integer, dimension(6) :: part_opts = (/0,0,0,0,0,0/)
      integer,dimension(:),pointer       :: clrorder,clrstarts
      integer, dimension(:), allocatable :: ccount !count colors
      integer,dimension(4)           :: buf
      
      if (ismaster()) then ! Here master simply splits the matrix into pieces
  