diff --git a/source/f90/eels-boson.f90 b/source/f90/eels-boson.f90
index 6904453d55b67c712bea295a26935947e1580f65..4eaf3d8a10ea723efc69ae67fd4a030d1d8b1881 100644
--- a/source/f90/eels-boson.f90
+++ b/source/f90/eels-boson.f90
@@ -49,7 +49,7 @@ program eels_boson
   
   character (len = :), allocatable :: eelsin_name, bosonout_name
 
-  ! the default names
+  ! the default file names
   eelsin_name    = 'eelsin.yaml'
   bosonout_name  = 'bosonout.txt'
   
@@ -119,6 +119,12 @@ program eels_boson
     print *, io_err%message
     stop 1
   endif
+  nper = root%get_integer("NumberOfPeriodicLayers", error = io_err)
+  if (allocated(io_err)) then
+    print *, io_err%message
+    stop 1
+  endif
+
 
     layerList => root%get_list('Layers', required = .true., error = io_err)
     if (allocated(io_err)) then
@@ -148,7 +154,6 @@ program eels_boson
 
   layers = layerList%size()
   user = layers == 0
-  nper = 1
   if (.not. user) then
     neps = layers
     if (nper == -1) then
@@ -303,8 +308,7 @@ program eels_boson
   write(*,'(a, i6, a, g15.7, a, g15.7)') ' read', nw, ' values of pcl from', wmin, ' to', wmax
 
 ! length calculation for xout, yout.
-! not done yet.
-  nout = 2**14
+  nout = nint((emax - emin) / dw ) + 1
   allocate (xout(nout))
   allocate (yout(nout))
   
diff --git a/source/f90/getOscillator.f90 b/source/f90/getOscillator.f90
index ed5a91f452236d5dfff1742867bec5732f5c3bb7..21091f33b4447c1dd567d400e44ce6c12b1c8318 100644
--- a/source/f90/getOscillator.f90
+++ b/source/f90/getOscillator.f90
@@ -28,23 +28,23 @@ module getOscillator_mod
       select case (oscType(jos))
       case (Lorentz)
         osc(1,jos) = oscillatorTerm%get_real('wTO', error = io_err)
-        osc(2,jos) = oscillatorTerm%get_real('Q', error = io_err)
-        osc(3,jos) = oscillatorTerm%get_real('Gamma', error = io_err)
+        osc(2,jos) = oscillatorTerm%get_real('Qk', error = io_err)
+        osc(3,jos) = oscillatorTerm%get_real('yk', error = io_err)
         osc(4,jos) = 0.0
       case (Kurosawa)
         osc(1,jos) = oscillatorTerm%get_real('wTO', error = io_err)
-        osc(2,jos) = oscillatorTerm%get_real('GammaTO', error = io_err)
+        osc(2,jos) = oscillatorTerm%get_real('yTO', error = io_err)
         osc(3,jos) = oscillatorTerm%get_real('wLO', error = io_err)
-        osc(4,jos) = oscillatorTerm%get_real('GammaLO', error = io_err)
+        osc(4,jos) = oscillatorTerm%get_real('yLO', error = io_err)
       case (Drude)
         osc(1,jos) = oscillatorTerm%get_real('wP', error = io_err)
-        osc(2,jos) = oscillatorTerm%get_real('Gamma', error = io_err)
+        osc(2,jos) = oscillatorTerm%get_real('y', error = io_err)
         osc(3,jos) = 0.0
         osc(4,jos) = 0.0
       case (extendedDrude)
         osc(1,jos) = oscillatorTerm%get_real('wP', error = io_err)
-        osc(2,jos) = oscillatorTerm%get_real('Gamma0', error = io_err)
-        osc(3,jos) = oscillatorTerm%get_real('GammaP', error = io_err)
+        osc(2,jos) = oscillatorTerm%get_real('yp', error = io_err)
+        osc(3,jos) = oscillatorTerm%get_real('yP', error = io_err)
         osc(4,jos) = 0.0
       end select
     end select