anchor.diff:       end do
     end if
     k = 0
  +  write(frmt,*) '(i3,1x,1000f', n_digits + 4, '.', n_digits, ')'
     do iv = 1,nvars
  -     do is = 1,nclasses
  -        k = k + 1
  -        write(*,'(i3,1x,i2,1x,f8.4)') iv,is,prm(k)
  -     end do
  +     !write(*,'(i3,1x,1000f8.4)') iv,prm(k+1:k+nclasses)
  +     !write(*,*) iv,prm(k+1:k+nclasses)
  +     if (n_digits >= 0) then
  +        write(*,frmt) iv,prm(k+1:k+nclasses)
  +     else
  +        write(*,*) iv,prm(k+1:k+nclasses)
  +     end if
  +     k = k + nclasses
     end do
  -  do jv = 1,nvars-1
  -     do iv = jv+1,nvars
  -        do js = 1,nclasses
  -           do is = 1,nclasses
  -              k = k + 1
  -              ! order is inverted for printing 
  -              write(*,'(2(i3,1x),2(i2,1x),f8.4)') jv,iv,js,is,prm(k)
  -           end do
  -        end do
  +  write(frmt,*) '(2(i3,1x),1000f', n_digits + 4, '.', n_digits, ')'
  +  do iv = 1,nvars-1
  +     do jv = iv+1,nvars
  +        ! order is inverted for printing 
  +        !write(*,'(2(i3,1x),1000f8.4)') jv,iv,prm(k+1:k+nclasses**2)
  +        ! (iv, jv) pair of features; inner loop over the states of jv
  +        if (n_digits >= 0) then
  +           write(*,frmt) iv,jv,prm(k+1:k+nclasses**2)
  +        else
  +           write(*,*) iv,jv,prm(k+1:k+nclasses**2)
  +        end if
  +        k = k + nclasses**2
        end do
     end do
   
  
positive.code:         ! prm file
          iarg = iarg + 1
          call read_opt_arg(iarg,nargs,rst_file,err)
          if (err == 1) then
             write(0,*) 'ERROR ! missing argument: '//trim(arg)//' <filename>'
             stop
          end if
       case default
  
negative.code:   character(len=long_string_size) :: syntax = 'syntax'
    character(len=long_string_size) :: rst_file
    integer :: iv,jv,is,js,k
    integer :: n_digits = -1
    character(len=1) :: protein_alphabet(21) = &
         ['A','C','D','E','F','G','H','I','K',&
         'L','M','N','P','Q','R','S','T','V','W','Y','-']
    character(len=1) :: nuc_acid_alphabet(6) = &
         ['A','C','G','T','U','-']
    character(len=long_string_size) :: frmt
    
    ! read arguments
    call get_command(cmd)
  