diff --git a/src/collision_mod.F90 b/src/collision_mod.F90
index 5fe8fa392ecc6e9210f249007618d689b5e3fc02..9b5952ce8d004eae62bdd6631f29c7474c217e7d 100644
--- a/src/collision_mod.F90
+++ b/src/collision_mod.F90
@@ -3,12 +3,65 @@ module collision
 IMPLICIT NONE
 
 PUBLIC :: compute_TColl
-PUBLIC :: DoughertyGK_e, DoughertyGK_i!, DoughertyGK
+PUBLIC :: LenardBernstein_e, LenardBernstein_i!, LenardBernstein GK
+PUBLIC :: DoughertyGK_e, DoughertyGK_i!, Dougherty GK
 PUBLIC :: load_COSOlver_mat
 PUBLIC :: apply_COSOlver_mat_e, apply_COSOlver_mat_i
 
 CONTAINS
 
+  !******************************************************************************!
+  !! Lenard Bernstein collision operator for electrons
+  !******************************************************************************!
+  SUBROUTINE LenardBernstein_e(ip_,ij_,ikx_,iky_,iz_,TColl_)
+    USE fields, ONLY: moments_e
+    USE grid,   ONLY: parray_e, jarray_e, kxarray, kyarray
+    USE basic
+    USE model,  ONLY: sigmae2_taue_o2, nu_ee
+    USE time_integration, ONLY : updatetlevel
+    IMPLICIT NONE
+    INTEGER,     INTENT(IN)    :: ip_,ij_,ikx_,iky_,iz_
+    COMPLEX(dp), INTENT(OUT)   :: TColl_
+
+    REAL(dp)    :: j_dp, p_dp, be_2
+
+    !** Auxiliary variables **
+    p_dp      = REAL(parray_e(ip_),dp)
+    j_dp      = REAL(jarray_e(ij_),dp)
+    ! be_2      = (kxarray(ikx_)**2 + kyarray(iky_)**2) * sigmae2_taue_o2 ! this is (be/2)^2
+
+    !** Assembling collison operator **
+    ! -nuee (p + 2j) Nepj
+    TColl_ = -nu_ee * (p_dp + 2._dp*j_dp)*moments_e(ip_,ij_,ikx_,iky_,iz_,updatetlevel)
+
+  END SUBROUTINE LenardBernstein_e
+
+    !******************************************************************************!
+    !! Lenard Bernstein collision operator for electrons
+    !******************************************************************************!
+    SUBROUTINE LenardBernstein_i(ip_,ij_,ikx_,iky_,iz_,TColl_)
+      USE fields, ONLY: moments_i
+      USE grid,   ONLY: parray_i, jarray_i, kxarray, kyarray
+      USE basic
+      USE model,  ONLY: sigmai2_taui_o2, nu_i
+      USE time_integration, ONLY : updatetlevel
+      IMPLICIT NONE
+      INTEGER,     INTENT(IN)    :: ip_,ij_,ikx_,iky_,iz_
+      COMPLEX(dp), INTENT(OUT)   :: TColl_
+
+      REAL(dp)    :: j_dp, p_dp, bi_2
+
+      !** Auxiliary variables **
+      p_dp      = REAL(parray_i(ip_),dp)
+      j_dp      = REAL(jarray_i(ij_),dp)
+      ! bi_2      = (kxarray(ikx_)**2 + kyarray(iky_)**2) * sigmai2_taui_o2 ! this is (bi/2)^2
+
+      !** Assembling collison operator **
+      ! -nuii (p + 2j) Nipj
+      TColl_ = -nu_i * (p_dp + 2._dp*j_dp)*moments_i(ip_,ij_,ikx_,iky_,iz_,updatetlevel)
+
+    END SUBROUTINE LenardBernstein_i
+
   !******************************************************************************!
   !! Doughtery gyrokinetic collision operator for electrons
   !******************************************************************************!
@@ -36,7 +89,7 @@ CONTAINS
     be_       = 2_dp*SQRT(be_2) ! this is be
 
     !** Assembling collison operator **
-    ! Velocity-space diffusion (similar to Lenhard Bernstein)
+    ! Velocity-space diffusion (similar to Lenard Bernstein)
     ! -nuee (p + 2j + b^2/2) Nepj
     TColl_ = -(p_dp + 2._dp*j_dp + 2._dp*be_2)*moments_e(ip_,ij_,ikx_,iky_,iz_,updatetlevel)
 
@@ -142,7 +195,7 @@ CONTAINS
     bi_       = 2_dp*SQRT(bi_2) ! this is be
 
     !** Assembling collison operator **
-    ! Velocity-space diffusion (similar to Lenhard Bernstein)
+    ! Velocity-space diffusion (similar to Lenard Bernstein)
     ! -nui (p + 2j + b^2/2) Nipj
     TColl_ = -(p_dp + 2._dp*j_dp + 2._dp*bi_2)*moments_i(ip_,ij_,ikx_,iky_,iz_,updatetlevel)