diff --git a/libhreels/myEels20.f90 b/libhreels/myEels20.f90
index 4bcdfb0cd00791cd58252f1300f3d96d0a09cd26..eea3d4becde86d22bb8530ecc07ca2ed100bdf84 100755
--- a/libhreels/myEels20.f90
+++ b/libhreels/myEels20.f90
@@ -20,10 +20,10 @@ subroutine doeels (e0, theta, phia, phib, wmin, wmax, dw,  &
   integer, parameter :: nt = 5
   
   double precision, intent(in) :: e0, theta, phia, phib, wmin, wmax, dw
+  integer, intent(in) :: name_size, osc_size, neps
   double precision, intent(in) :: thick(name_size), epsinf(name_size), osc(3, osc_size)
   character*10, intent(in) :: name(name_size)
-  character*10, intent(in) :: contrl, mode
-  integer, intent(in) :: name_size, osc_size, neps
+  character, intent(in) :: contrl(10), mode(10)
   integer, intent(in) :: wn_array_size
   integer, intent(in) :: layers, nper, nos(name_size)
   double precision, intent(out) :: wn_array(wn_array_size), f_array(wn_array_size)
@@ -44,11 +44,11 @@ subroutine doeels (e0, theta, phia, phib, wmin, wmax, dw,  &
                    ru, um, dlimf, wn, user, ration
   common / mulayr / argmin, argmax, epsmac, flag
 
+  data aerr / 0.0d0 /, rerr / 1.0d-06 /, f / 0.0d0 /, f1 / 0.0d0 /
+
   !if (present(debug)) debug = .True.
   debugFirstRun = .True.
 
-  data aerr / 0.0d0 /, rerr / 1.0d-06 /, f / 0.0d0 /, f1 / 0.0d0 /
-
 ! *** machine-dependent constants
 ! *** epsmac + 1.0 = epsmac , cosh(argmin) = 1.0 , tanh(argmax) = 1.0
   flag = 1
@@ -234,7 +234,9 @@ subroutine quanc8(fun, a, b, abserr, relerr, result, errest, nofun, flag, eps, d
 !         left to do when the limit on  nofun  was approached.
 
   implicit none
-  external fun
+
+  fun
+
   double precision :: fun
   double precision, intent(in) :: a
   double precision, intent(in) :: b
@@ -552,9 +554,9 @@ double precision function fint1(u, eps, d, layers, nper, eps_size)
   
   double precision, intent(in) :: u
 
+  integer, intent(in) :: layers, nper, eps_size
   double precision, intent(in) :: d(eps_size)
   double complex, intent(in) :: eps(eps_size)
-  integer, intent(in) :: layers, nper, eps_size
    
   logical :: ration, user
   double precision :: acoef, bcoef, ccoef, cospsi, den, dif, dlimf, e, elleps
@@ -611,9 +613,9 @@ double precision function fint2(u, eps, d, layers, nper, eps_size)
   
   double precision, intent(in) :: u
 
+  integer, intent(in) :: layers, nper, eps_size
   double precision, intent(in) :: d(eps_size)
   double complex, intent(in) :: eps(eps_size)
-  integer, intent(in) :: layers, nper, eps_size
    
   logical :: ration, user
   double precision :: a, arg, b, b2, c, ccoef, cospsi, dlimf, elleps, phi
@@ -672,9 +674,9 @@ double precision function fint3(u, eps, d, layers, nper, eps_size)
   
   double precision, intent(in) :: u
 
+  integer, intent(in) :: layers, nper, eps_size
   double precision, intent(in) :: d(eps_size)
   double complex, intent(in) :: eps(eps_size)
-  integer, intent(in) :: layers, nper, eps_size
    
   logical :: ration, user
   double precision :: a, arg, b, ccoef, cospsi, dlimf, elleps, phi1, phi2
@@ -949,7 +951,8 @@ subroutine seteps(nos, osc_size, osc, epsinf, wn, nLayer, eps)
   ! * the present frequency wn (in cm**-1)                           *
   ! ******************************************************************
   
-  ! implicit none
+  implicit none
+
   integer, intent(in) :: nLayer
   integer, dimension(nLayer),intent(in) :: nos
   integer, intent(in) :: osc_size
@@ -962,8 +965,9 @@ subroutine seteps(nos, osc_size, osc, epsinf, wn, nLayer, eps)
   
   double complex :: nomi, deno, addeps
   double precision :: wn2, b
-  integer :: flag
+  integer j, k, l, m
   logical debugFirstRun
+
   common /control/ debugFirstRun
    
   j = 0