diff --git a/mechanisms/default/exp2syn.mod b/mechanisms/default/exp2syn.mod
index 591fcbca8aff2779cc36286b554d6d17d9f475c1..225b162a6da5e446c3b1fc0f4c9455f9e6afddf3 100644
--- a/mechanisms/default/exp2syn.mod
+++ b/mechanisms/default/exp2syn.mod
@@ -14,13 +14,9 @@ PARAMETER {
     e    = 0   (mV)
 }
 
-ASSIGNED {
-    factor
-}
+ASSIGNED { factor }
 
-STATE {
-    A B
-}
+STATE { A B }
 
 INITIAL {
     LOCAL tp
@@ -32,6 +28,8 @@ INITIAL {
 
 BREAKPOINT {
     SOLVE state METHOD cnexp
+    LOCAL g
+    g = B - A
     i = (B - A)*(v - e)
 }
 
diff --git a/mechanisms/default/expsyn.mod b/mechanisms/default/expsyn.mod
index 1ac2f3e55effc24fea871802dfab5981456afc9f..3e718df60d35762ddb609e6f25c6a33770b6e14a 100644
--- a/mechanisms/default/expsyn.mod
+++ b/mechanisms/default/expsyn.mod
@@ -21,7 +21,7 @@ STATE {
 }
 
 INITIAL {
-    g=0
+    g = 0
 }
 
 BREAKPOINT {
diff --git a/mechanisms/default/expsyn_curr.mod b/mechanisms/default/expsyn_curr.mod
index 35e9cae5e8f80162fe2b7fe6eaa6d84b4c029453..2086e6708f93534f441f0933ffb1d5d77f16117e 100644
--- a/mechanisms/default/expsyn_curr.mod
+++ b/mechanisms/default/expsyn_curr.mod
@@ -27,7 +27,6 @@ INITIAL {
 }
 
 BREAKPOINT {
-	:SOLVE state METHOD cnexp
 	SOLVE state METHOD sparse : to match with expsyn_curr_calcium_plasticity
 
 	I = -g / R_mem
diff --git a/mechanisms/default/gj.mod b/mechanisms/default/gj.mod
index 00d72cf82f400bb552d55da98efb04b469feef70..ab3927d7095afc27f01a1e12e06b95acdc6baaad 100644
--- a/mechanisms/default/gj.mod
+++ b/mechanisms/default/gj.mod
@@ -3,11 +3,10 @@ NEURON {
     NONSPECIFIC_CURRENT i
     RANGE g
 }
+
 INITIAL {}
 
-PARAMETER {
-    g = 1
-}
+PARAMETER { g = 1 }
 
 BREAKPOINT {
     i = g*(v - v_peer)
diff --git a/mechanisms/default/kamt.mod b/mechanisms/default/kamt.mod
index e218e8b3f8ec2a1facabbb76b56cdb130467121b..3fbba9b6151f6d87e210b847d32226915bb62e09 100644
--- a/mechanisms/default/kamt.mod
+++ b/mechanisms/default/kamt.mod
@@ -6,33 +6,29 @@ TITLE K-A
 : ik has units  (mA/cm2)
 
 NEURON {
-    THREADSAFE
     SUFFIX kamt
     USEION k READ ek WRITE ik
-    RANGE  gbar, q10
-    GLOBAL minf, mtau, hinf, htau
+    RANGE gbar
 }
 
 PARAMETER {
-    gbar = 0.002    (mho/cm2)
+    gbar   =  0.002    (mho/cm2)
 
     celsius
-    a0m=0.04
-    vhalfm=-45
-    zetam=0.1
-    gmm=0.75
-
-    a0h=0.018
-    vhalfh=-70
-    zetah=0.2
-    gmh=0.99
-
-    sha=9.9
-    shi=5.7
-    q10=3
+    a0m    =  0.04
+    vhalfm = -45
+    zetam  =  0.1
+    gmm    =  0.75
+
+    a0h    =  0.018
+    vhalfh = -70
+    zetah  =  0.2
+    gmh    =  0.99
+
+    sha    =  9.9
+    shi    =  5.7
 }
 
-
 UNITS {
     (mA) = (milliamp)
     (mV) = (millivolt)
@@ -40,18 +36,9 @@ UNITS {
     (um) = (micron)
 }
 
-ASSIGNED {
-    v    (mV)
-    minf
-    mtau (ms)
-    hinf
-    htau (ms)
-}
+ASSIGNED { v (mV) }
 
-STATE {
-    m
-    h
-}
+STATE { m h }
 
 BREAKPOINT {
     SOLVE states METHOD cnexp
@@ -59,40 +46,21 @@ BREAKPOINT {
 }
 
 INITIAL {
-    trates(v,celsius)
-    m=minf
-    h=hinf
+    m = minf(v)
+    h = hinf(v)
 }
 
 DERIVATIVE states {
-    trates(v,celsius)
-    m' = (minf-m)/mtau
-    h' = (hinf-h)/htau
-}
-
-PROCEDURE trates(v,celsius) {
     LOCAL qt
-    qt=q10^((celsius-24)/10)
-
-    minf = 1/(1 + exp(-(v-sha-7.6)/14))
-    mtau = betm(v)/(qt*a0m*(1+alpm(v)))
-
-    hinf = 1/(1 + exp((v-shi+47.4)/6))
-    htau = beth(v)/(qt*a0h*(1+alph(v)))
-}
-
-FUNCTION alpm(v) {
-    alpm = exp(zetam*(v-vhalfm))
+    qt = 3^((celsius-24)/10)
+    m' = (minf(v) - m)*qt*a0m*(1 + alpm(v))/betm(v)
+    h' = (hinf(v) - h)*qt*a0h*(1 + alph(v))/beth(v)
 }
 
-FUNCTION betm(v) {
-    betm = exp(zetam*gmm*(v-vhalfm))
-}
+FUNCTION minf(v) { minf = 1/(1 + exp(-(v-sha-7.6)/14)) }
+FUNCTION hinf(v) { hinf = 1/(1 + exp((v-shi+47.4)/6)) }
 
-FUNCTION alph(v) {
-    alph = exp(zetah*(v-vhalfh))
-}
-
-FUNCTION beth(v) {
-    beth = exp(zetah*gmh*(v-vhalfh))
-}
+FUNCTION alpm(v) { alpm = exp(zetam*(v - vhalfm)) }
+FUNCTION betm(v) { betm = exp(zetam*gmm*(v - vhalfm)) }
+FUNCTION alph(v) { alph = exp(zetah*(v - vhalfh)) }
+FUNCTION beth(v) { beth = exp(zetah*gmh*(v - vhalfh)) }
diff --git a/mechanisms/default/kdrmt.mod b/mechanisms/default/kdrmt.mod
index 86a697a051eaa5ba1440abd05592ebad40862521..e7ccae312a43f8cb8aa390eba00cc2e48766be7f 100644
--- a/mechanisms/default/kdrmt.mod
+++ b/mechanisms/default/kdrmt.mod
@@ -9,21 +9,19 @@ NEURON {
     THREADSAFE
     SUFFIX kdrmt
     USEION k READ ek WRITE ik
-    RANGE  gbar, q10, vhalfm
-    GLOBAL minf, mtau
+    RANGE  gbar, vhalfm
 }
 
 PARAMETER {
-    gbar = 0.002    (mho/cm2)
-
+    gbar   =  0.002    (mho/cm2)
     celsius
-    a0m=0.0035
-    vhalfm=-50
-    zetam=0.055
-    gmm=0.5
-    q10=3
-    alpm=0
-    betm=0
+    a0m    =  0.0035
+    vhalfm = -50
+    zetam  =  0.055
+    gmm    =  0.5
+    q10    =  3
+    alpm   =  0
+    betm   =  0
 }
 
 
@@ -34,39 +32,27 @@ UNITS {
     (um) = (micron)
 }
 
-ASSIGNED {
-    v    (mV)
-    minf
-    mtau (ms)
-}
+ASSIGNED { v(mV) }
 
-STATE {
-    m
-}
+STATE { m }
 
 BREAKPOINT {
     SOLVE states METHOD cnexp
-    ik = gbar*m*(v - ek)
+    LOCAL gk
+    gk = gbar*m
+    ik = gk*(v - ek)
 }
 
 INITIAL {
-    trates(v,celsius)
-    m=minf
+    m = minf(v)
 }
 
 DERIVATIVE states {
-    trates(v,celsius)
-    m' = (minf-m)/mtau
-}
+    LOCAL qt, tmp
 
-PROCEDURE trates(v,celsius) {
-    LOCAL qt
-    LOCAL alpm_t, betm_t
-    LOCAL tmp
-    qt=q10^((celsius-24)/10)
-    minf = 1/(1 + exp(-(v-21)/10))
-    tmp = zetam*(v-vhalfm)
-    alpm_t = exp(tmp)
-    betm_t = exp(gmm*tmp)
-    mtau = betm_t/(qt*a0m*(1+alpm_t))
+    qt  = q10^(0.1*(celsius - 24))
+    tmp = zetam*(v - vhalfm)
+    m'  = qt*a0m*(1 + exp(tmp))*(minf(v) - m)*exp(-gmm*tmp)
 }
+
+FUNCTION minf(v) { minf = 1/(1 + exp((21 - v)/10)) }
diff --git a/mechanisms/default/nax.mod b/mechanisms/default/nax.mod
index 911b835597a9c9e1e7e91186b532ca96483eb44f..11a789b3d78e64d5ff2d8bb8de8aa613f7b0f688 100644
--- a/mechanisms/default/nax.mod
+++ b/mechanisms/default/nax.mod
@@ -10,26 +10,26 @@ NEURON {
 }
 
 PARAMETER {
-    sh   = 5    (mV)
-    gbar = 0.010    (mho/cm2)
-
-    tha  =  -30 (mV)        : v 1/2 for act 
-    qa   = 7.2  (mV)        : act slope (4.5)
-    Ra   = 0.4  (/ms)       : open (v)
-    Rb   = 0.124 (/ms)      : close (v)
-
-    thi1  = -45 (mV)        : v 1/2 for inact
-    thi2  = -45 (mV)        : v 1/2 for inact
-    qd   = 1.5  (mV)        : inact tau slope
-    qg   = 1.5  (mV)
-    mmin=0.02
-    hmin=0.5
-    q10=2
-    Rg   = 0.01 (/ms)       : inact recov (v)
-    Rd   = .03  (/ms)       : inact (v)
-
-    thinf  = -50 (mV)       : inact inf slope
-    qinf  = 4    (mV)       : inact inf slope
+    sh    = 5     (mV)
+    gbar  = 0.010 (mho/cm2)
+
+    tha   =  -30  (mV)  : v 1/2 for act
+    qa    = 7.2   (mV)  : act slope (4.5)
+    Ra    = 0.4   (/ms) : open (v)
+    Rb    = 0.124 (/ms) : close (v)
+
+    thi1  = -45   (mV)  : v 1/2 for inact
+    thi2  = -45   (mV)  : v 1/2 for inact
+    qd    = 1.5   (mV)  : inact tau slope
+    qg    = 1.5   (mV)
+    mmin  = 0.02
+    hmin  = 0.5
+    q10   = 2
+    Rg    = 0.01  (/ms) : inact recov (v)
+    Rd    = .03   (/ms) : inact (v)
+
+    thinf = -50   (mV)  : inact inf slope
+    qinf  = 4     (mV)  : inact inf slope
 
     celsius
 }
@@ -42,53 +42,51 @@ UNITS {
     (um) = (micron)
 }
 
-ASSIGNED {
-    v (mV)
-    thegna      (mho/cm2)
-    minf
-    hinf
-    mtau (ms)
-    htau (ms)
-}
+ASSIGNED { v (mV) }
 
-STATE {
-    m
-    h
-}
+STATE { m h }
 
 BREAKPOINT {
     SOLVE states METHOD cnexp
-    thegna = gbar*m*m*m*h
-    ina = thegna * (v - ena)
+    LOCAL gna
+    gna = gbar*m*m*m*h
+    ina = gna * (v - ena)
 }
 
 INITIAL {
-    trates(v,sh,celsius)
-    m=minf
-    h=hinf
+    LOCAL  a, b, u
+
+    u = tha + sh - v
+    a = trap0( u, Ra, qa)
+    b = trap0(-u, Rb, qa)
+    m = a/(a + b)
+
+    u = thi1 + sh - v
+    a = trap0( u, Rd, qd)
+    b = trap0(-u, Rg, qg)
+    h = 1/(1 + exp((v - thinf - sh)/qinf))
+
 }
 
 DERIVATIVE states {
-    trates(v,sh,celsius)
-    m' = (minf-m)/mtau
-    h' = (hinf-h)/htau
-}
+    LOCAL  a, b, u, qt, hinf, minf, htau, mtau, iq
 
-PROCEDURE trates(vm,sh2,celsius) {
-    LOCAL  a, b, qt
-    qt=q10^((celsius-24)/10)
-    a = trap0(vm,tha+sh2,Ra,qa)
-    b = trap0(-vm,-tha-sh2,Rb,qa)
-    mtau = max(1/(a+b)/qt, mmin)
-    minf = a/(a+b)
-
-    a = trap0(vm,thi1+sh2,Rd,qd)
-    b = trap0(-vm,-thi2-sh2,Rg,qg)
-    htau = max(1/(a+b)/qt, hmin)
-    hinf = 1/(1+exp((vm-thinf-sh2)/qinf))
-}
+    iq   = q10^(-0.1*(celsius - 24))
+
+    u    = tha + sh - v
+    a    = trap0( u, Ra, qa)
+    b    = trap0(-u, Rb, qa)
+    mtau = max(iq/(a + b), mmin)
+    minf = a/(a + b)
 
-FUNCTION trap0(v,th,a,q) {
-    : trap0 = a * (v - th) / (1 - exp(-(v - th)/q))
-    trap0 = a*q*exprelr(-(v-th)/q)
+    u    = thi1 + sh - v
+    a    = trap0( u, Rd, qd)
+    b    = trap0(-u, Rg, qg)
+    htau = max(iq/(a + b), hmin)
+    hinf = 1/(1 + exp((v - thinf - sh)/qinf))
+
+    m' = (minf - m)/mtau
+    h' = (hinf - h)/htau
 }
+
+FUNCTION trap0(v, a, q) { trap0 = a*q*exprelr(v/q) }
diff --git a/mechanisms/default/nernst.mod b/mechanisms/default/nernst.mod
index aca2a7170ff23933f143804e72d02491863b5ca1..e16042536a01bdcc418c4a5a904a56d36e1f3500 100644
--- a/mechanisms/default/nernst.mod
+++ b/mechanisms/default/nernst.mod
@@ -16,16 +16,13 @@ PARAMETER {
     celsius : temperature in °C (set externally)
 }
 
-ASSIGNED {
-    coeff
-}
+ASSIGNED { coeff }
 
 INITIAL {
-    coeff = R*(celsius+273.15)/(zx*F)*1000
+    coeff = R*(celsius + 273.15)/(zx*F)*1000
 }
 
-STATE {
-}
+STATE {}
 
 BREAKPOINT  {
     ex = coeff*log(xo/xi)