anchor.diff:  
   ! overload abs 
   interface abs
  -   module procedure absvec
  +   module procedure abs_vec
   end interface abs
   
   ! constructor for vector data type
   interface vector
  -   module procedure new_vector
  +   module procedure new_vec
   end interface vector
   
   contains
  
positive.code: end function dot
  
  ! returns the magnitude of a vector
  function absvec(a)
    type (vector), intent (in) :: a
    real(dp)                   :: absvec
      absvec = sqrt(a%x**2 + a%y**2 + a%z**2)
  end function absvec
  
  ! constructor for a new vector
  function new_vector(a)
    real(dp), intent(in) :: a(3)
    type(vector) :: new_vector
    
  
negative.code:   new_vector%y=a(2)
    new_vector%z=a(3)
  
  end function new_vec
  
  end module utils
  