anchor.diff:      integer, optional, intent(out) :: m, n
       character(LEN=:), allocatable, optional, intent(out) :: comment
       integer status
  +    real(kind(1.d0)), allocatable :: readarr(:)
  +
  +    call F%Open(aname)
  +    nn = F%Columns()
  +    mm = F%Lines()
  +    allocate(mat(mm,nn))
  +    allocate(readarr(nn))
  +    j=1
  +    do while (F%ReadLineSkipEmptyAndComments(InLine, comment = comment))
  +        read (InLine,*, iostat=status) readarr
  +        if (status/=0) call F%Error( 'LoadTxt: error reading line:' //trim(InLine))
  +        mat(j,1:nn) = readarr
  +        j = j+1
  +    end do
  +    call F%Close()
  +    if (present(m)) m = mm
  +    if (present(n)) n = nn
  +
  +    end subroutine LoadTxt_2D
  +
  +    subroutine LoadTxt_1D(aname, vec, n, comment)
  +    character(LEN=*), intent(IN) :: aname
  +    real(kind(1.d0)), allocatable, intent(out) :: vec(:)
  +    integer nn, j
  +    Type(TTextFile) :: F
  +    character(LEN=:), allocatable :: InLine
  +    integer, optional, intent(out) :: n
  +    character(LEN=:), allocatable, optional, intent(out) :: comment
  +    integer status
  +
  +    call F%Open(aname)
  +    nn = F%Lines()
  +    allocate(vec(nn))
  +    j=1
  +    do while (F%ReadLineSkipEmptyAndComments(InLine, comment = comment))
  +        read (InLine,*, iostat=status) vec(j)
  +        if (status/=0) call F%Error( 'LoadTxt: error reading line:' //trim(InLine))
  +        j = j+1
  +    end do
  +    call F%Close()
  +    if (present(n)) n = nn
  +
  +    end subroutine LoadTxt_1D
  +
  +
  +    subroutine LoadTxt_int_2D(aname, mat, m, n, comment)
  +    character(LEN=*), intent(IN) :: aname
  +    integer, allocatable, intent(out) :: mat(:,:)
  +    integer mm, nn, j
  +    Type(TTextFile) :: F
  +    character(LEN=:), allocatable :: InLine
  +    integer, optional, intent(out) :: m, n
  +    character(LEN=:), allocatable, optional, intent(out) :: comment
  +    integer status
   
       call F%Open(aname)
       nn = F%Columns()
  
positive.code:     if (present(m)) m = mm
      if (present(n)) n = nn
  
      end subroutine LoadTxt_2D
  
      subroutine LoadTxt_1D(aname, vec, n, comment)
      character(LEN=*), intent(IN) :: aname
      real(kind(1.d0)), allocatable, intent(out) :: vec(:)
      integer nn, j
      Type(TTextFile) :: F
      character(LEN=:), allocatable :: InLine
  
negative.code:     call F%Close()
      if (present(n)) n = nn
  
      end subroutine LoadTxt_int_1D
  
      function CreateTextFile(fname)
  