diff --git a/src/binary_macros.h b/src/binary_macros.h
index 7e41017cd46839d4bbb2e357b7b11af71fbdbc18..8b6d6edfb816108eee6bacf370e30ed5b1f93689 100644
--- a/src/binary_macros.h
+++ b/src/binary_macros.h
@@ -19,7 +19,7 @@
 #include "wind/wind_macros.h"
 #include "derivatives.h"
 #include "stellar_colours/stellar_colour_macros.h"
-
+#include "sn.h"
 
 /* buffering states */
 #define INTERNAL_BUFFERING_OFF 0
@@ -70,9 +70,9 @@
 #define MEMMAP_STRING_LENGTH 82
 #endif /* MEMMAP */
 
-#ifdef LOG_SUPERNOVAE
-#include "sn.h"
-#endif //LOG_SUPERNOVAE
+
+
+
 
 #define HRDIAG_FILENAME "/tmp/c_binary_hrdiag.dat"
 #include "stellar_structure/stellar_structure_macros.h"
diff --git a/src/binary_maths.h b/src/binary_maths.h
index 66041e2b813ddcb7ce7ab984bebdbe93d11a5d61..485820ad05beffccf697ad1053b2ee8297b8ee0f 100644
--- a/src/binary_maths.h
+++ b/src/binary_maths.h
@@ -95,6 +95,7 @@ static inline double func_min(const double a,const double b){return(MIN_MACRO(a,
 /* max, min of several floating point numbers */
 #define MAX3(A,B,C) MAX((A),MAX((B),(C)))
 #define MAX4(A,B,C,D) MAX((A),MAX3((A),(B),(C)))
+#define MAX5(A,B,C,D,E) MAX((A),MAX4((A),(B),(C),(D)))
 #define MIN3(A,B,C) MIN((A),MIN((B),(C)))
 #define MIN4(A,B,C,D) MIN((D),MIN((A),MIN((B),(C))))
 #define MIN5(A,B,C,D,E) MIN((E),MIN((D),MIN((A),MIN((B),(C)))))
diff --git a/src/binary_parameters.h b/src/binary_parameters.h
index 5b8f38fe627cd8c029958c3414197342cd92508a..1393dae3b09b9ed0ea381796557251cada8687a5 100644
--- a/src/binary_parameters.h
+++ b/src/binary_parameters.h
@@ -53,9 +53,6 @@
  */
 //#define LIKE_AMANDA
 
-// Enable Axel's changes : WILL FAIL
-//#define AXEL
-
 /*
  * Enable SMOOTH_AGB to smooth the HR-diagram through the transition
  * from overshooting EAGB to non-overshooting TPAGB model fits. 
@@ -639,10 +636,6 @@
 /* selma's stuff for MS binary RLOF*/
 //#define SELMA
 
-/* If AXEL is defined, AGB smoothing should not be defined */
-#ifdef AXEL
-#undef SMOOTH_AGB
-#endif
 
 /* 
  * On the cluster you do not want a FILE_LOG, it just slows 
@@ -664,7 +657,6 @@
 
 /*
  * Enable this to use Axel's updated (and much better!) RGB radius function.
- * (requries rebuild if you change it)
  */
 #define AXEL_RGBF_FIX
 
diff --git a/src/binary_structures.h b/src/binary_structures.h
index 03b83a8383317bc8694cdc781041aa068160ed57..2f86386e89ea67af0912d3cf4b59711a999f5c89 100644
--- a/src/binary_structures.h
+++ b/src/binary_structures.h
@@ -523,10 +523,6 @@ struct preferences_t {
     int batch_submode;
     Boolean no_arg_checking;
 #endif//BATCHMODE
-#ifdef AXEL
-    // overshooting TPAGB
-    Boolean overshooting_tpagb;
-#endif//AXEL
     Boolean rlperi;
 #ifdef ROTATIONALLY_ENHANCED_MASS_LOSS
     int rotationally_enhanced_mass_loss;
diff --git a/src/common_envelope/common_envelope_evolution.c b/src/common_envelope/common_envelope_evolution.c
index 00a8a28ed541f29b579de3950e98cbb5922eb1d4..01d9fab14efdcadb2d0732f11d3c85855941fae4 100644
--- a/src/common_envelope/common_envelope_evolution.c
+++ b/src/common_envelope/common_envelope_evolution.c
@@ -238,7 +238,8 @@ int common_envelope_evolution (double *m01,
                                   stardata->star[nstar1].Xenv,
 #endif//NUCSYN
                                   stardata);
-        //_exit(0);
+        fflush(NULL);
+        _exit(0);
         
 #endif
         Append_logstring(LOG_COMENV_PRE,
diff --git a/src/common_envelope/common_envelope_polytrope.c b/src/common_envelope/common_envelope_polytrope.c
index 0d131e691435d2721f71bc2861f905e46975b256..29940255a3306ffe1b36dd16783b707a10bce561 100644
--- a/src/common_envelope/common_envelope_polytrope.c
+++ b/src/common_envelope/common_envelope_polytrope.c
@@ -14,7 +14,7 @@
 
 #ifdef COMENV_POLYTROPES
 
-//#define COMENV_POLYTROPES_DEBUG
+#define COMENV_POLYTROPES_DEBUG
 
 #include "common_envelope_polytrope.h"
 
@@ -50,7 +50,7 @@ double common_envelope_polytrope(
 #ifdef NUCSYN
         nucsyn_recombination_energy_per_gram(stardata,X);
 #else
-        RYDBERG_CONSTANT / PROTON_MASS;
+        1.3 * RYDBERG_CONSTANT / PROTON_MASS;
 #endif
     double GMMR = - G * m * me / r;
     
@@ -79,7 +79,7 @@ double common_envelope_polytrope(
 #endif
     double MAYBE_UNUSED err = x[3];
     
-    double q = mc / (4.0 * PI * beta * POW3(alpha) );
+    double q = mc / (4.0 * PI * beta * POW3(alpha) ); // core density
 
     double K = 4.0 * PI * G * POW2(alpha) / ((1.0 + n) * pow(q, 1.0/n - 1.0));
 
diff --git a/src/logging/log_every_timestep.c b/src/logging/log_every_timestep.c
index 04f696897f051dd3f5b500e5e114a02c1d211fa4..d3b15c88e9067da4ec25886ad7452b45426b6606 100644
--- a/src/logging/log_every_timestep.c
+++ b/src/logging/log_every_timestep.c
@@ -2205,13 +2205,14 @@ void log_every_timestep(struct stardata_t * RESTRICT stardata)
 #endif
                                                       stardata);
         
-            PRINTF("COMENVLOG %g %d %g %g %g %g\n",
+            PRINTF("COMENVLOG %g %d %g %g %g %g %g\n",
                    stardata->model.time,
                    star->stellar_type,
                    star->mass,
                    star->radius,
                    lambda,
-                   star->k2
+                   star->k2,
+                   star->core_mass
                 );
         }
     }
diff --git a/src/nucsyn/nucsyn_init_first_pulse.c b/src/nucsyn/nucsyn_init_first_pulse.c
index a84b88e87a1ecabf7cd9a0dc7717bb1c345d21ae..08fea18af3a535b4397e02d4d535bfc3a2eed805 100644
--- a/src/nucsyn/nucsyn_init_first_pulse.c
+++ b/src/nucsyn/nucsyn_init_first_pulse.c
@@ -76,11 +76,7 @@ void nucsyn_init_first_pulse(double * RESTRICT tagb,
     /* save initial envelope mass and initial mass */
     star->menv0 = (*mt)-(*mc);
 
-#ifdef AXEL
-    *m0 = *mt;
-#else
     *m0 = *mass;
-#endif
 
     /*
      * initially set interpulse period (assuming lambda=0 - which is true
diff --git a/src/nucsyn/nucsyn_mcmin_for_dredgeup.c b/src/nucsyn/nucsyn_mcmin_for_dredgeup.c
index e7734ec5664f8e22a4a00400949f1bd1952ac605..4eb82b3fa47d34936fcf572f2cfdb018c0618b7c 100644
--- a/src/nucsyn/nucsyn_mcmin_for_dredgeup.c
+++ b/src/nucsyn/nucsyn_mcmin_for_dredgeup.c
@@ -99,11 +99,8 @@ double nucsyn_mcmin_for_dredgeup(const double m,
 
 
     /* Now to fix for M>Msdu-0.5 */
-#ifdef AXEL
-    y=MAX(star->mc0,MIN(0.7,y));
-#else
     y=MAX(Karakas2002_mc1tp(m,z,star,stardata),MIN(0.7,y));
-#endif
+
     /* DUP calibration */
     y += stardata->preferences->delta_mcmin;
 
diff --git a/src/nucsyn/nucsyn_recombination_energy_per_gram.c b/src/nucsyn/nucsyn_recombination_energy_per_gram.c
index 58bb242bb43d1b2124a594b8a11e37c1f4d43974..85744770a62155a8899b761daa5a9c0c5b6fa525 100644
--- a/src/nucsyn/nucsyn_recombination_energy_per_gram.c
+++ b/src/nucsyn/nucsyn_recombination_energy_per_gram.c
@@ -1,4 +1,7 @@
 #include "../binary_c.h"
+
+#ifdef NUCSYN
+
 #include "nucsyn_elements.h"
 /*
  * Calculate the recombination energy per gram
@@ -195,3 +198,4 @@ year = {2015},
 
     return (E/M);
 }
+#endif // NUCSYN
diff --git a/src/perl/modules_targz/Binning-0.03.tar.gz b/src/perl/modules_targz/Binning-0.03.tar.gz
index d54f9dacb75f1c93c9e4db1a4f3a00ce39f0fde2..426a21f0cf827a5f65c06cc87a10e244ef12ec19 100644
Binary files a/src/perl/modules_targz/Binning-0.03.tar.gz and b/src/perl/modules_targz/Binning-0.03.tar.gz differ
diff --git a/src/perl/modules_targz/Data-Serializer-RobJSON-0.05.tar.gz b/src/perl/modules_targz/Data-Serializer-RobJSON-0.05.tar.gz
index e5f56f54cbe51630d41df514f5c0c44626c3d337..e58751bdd59cc6d50f7e28acc8be216f7c03f377 100644
Binary files a/src/perl/modules_targz/Data-Serializer-RobJSON-0.05.tar.gz and b/src/perl/modules_targz/Data-Serializer-RobJSON-0.05.tar.gz differ
diff --git a/src/perl/modules_targz/Hash-RobMerge-0.14.tar.gz b/src/perl/modules_targz/Hash-RobMerge-0.14.tar.gz
index 9641f42045a46a45bb6488f164264a4d75541219..6e9b42e220b4c0e93f5d985603ee87dda2eea259 100644
Binary files a/src/perl/modules_targz/Hash-RobMerge-0.14.tar.gz and b/src/perl/modules_targz/Hash-RobMerge-0.14.tar.gz differ
diff --git a/src/perl/modules_targz/Histogram-0.01.tar.gz b/src/perl/modules_targz/Histogram-0.01.tar.gz
index f19e0ab811fc32cd1fa1e1401ee59c3f59136138..88e4947c8508e1395a0c84ce7aee4141fe2d5d68 100644
Binary files a/src/perl/modules_targz/Histogram-0.01.tar.gz and b/src/perl/modules_targz/Histogram-0.01.tar.gz differ
diff --git a/src/perl/modules_targz/IMF-0.05.tar.gz b/src/perl/modules_targz/IMF-0.05.tar.gz
index 6aeaa2a1508879e49c7fe93d0b365bface520789..d0b4af4d76b05a7d8b526fbae08102bfa25c416f 100644
Binary files a/src/perl/modules_targz/IMF-0.05.tar.gz and b/src/perl/modules_targz/IMF-0.05.tar.gz differ
diff --git a/src/perl/modules_targz/Maths_Double-0.01.tar.gz b/src/perl/modules_targz/Maths_Double-0.01.tar.gz
index 3f2d8a98f14a7d159427f265f5fb1a3696d44ab7..dca9333eb2122fea948dcd464f81e809dddadf08 100644
Binary files a/src/perl/modules_targz/Maths_Double-0.01.tar.gz and b/src/perl/modules_targz/Maths_Double-0.01.tar.gz differ
diff --git a/src/perl/modules_targz/RobInterpolation-0.04.tar.gz b/src/perl/modules_targz/RobInterpolation-0.04.tar.gz
index b30ac2576c9761249b2f9eb8a7b89960c35e4ce0..eb2658bb6cb45f9be9c5a149d63901b45530a524 100644
Binary files a/src/perl/modules_targz/RobInterpolation-0.04.tar.gz and b/src/perl/modules_targz/RobInterpolation-0.04.tar.gz differ
diff --git a/src/perl/modules_targz/binary_grid-2.00.tar.gz b/src/perl/modules_targz/binary_grid-2.00.tar.gz
index 38597d94bd52e3292ad37b76ce85fa345ede2a53..19739762d74f3849d1bdad7f5052264047c52aff 100644
Binary files a/src/perl/modules_targz/binary_grid-2.00.tar.gz and b/src/perl/modules_targz/binary_grid-2.00.tar.gz differ
diff --git a/src/perl/modules_targz/binary_stars-0.04.tar.gz b/src/perl/modules_targz/binary_stars-0.04.tar.gz
index 7e42141ed96299ef8c2561d18f7895edbf404f6f..c5ca6704fded0b58dcb3d111234b982bde1e467b 100644
Binary files a/src/perl/modules_targz/binary_stars-0.04.tar.gz and b/src/perl/modules_targz/binary_stars-0.04.tar.gz differ
diff --git a/src/perl/modules_targz/cosmology-0.01.tar.gz b/src/perl/modules_targz/cosmology-0.01.tar.gz
index 08aa5136b936d5cfd1059318d09bdbd5b5a2c2fd..b073399c0f8113f702823c4db8f533dcc58686ee 100644
Binary files a/src/perl/modules_targz/cosmology-0.01.tar.gz and b/src/perl/modules_targz/cosmology-0.01.tar.gz differ
diff --git a/src/perl/modules_targz/distribution_functions-0.05.tar.gz b/src/perl/modules_targz/distribution_functions-0.05.tar.gz
index 397187ec9dd100915283ef73a1d064956418a587..589d5c5ae2d11ec7f880fc9256a85b03efea545a 100644
Binary files a/src/perl/modules_targz/distribution_functions-0.05.tar.gz and b/src/perl/modules_targz/distribution_functions-0.05.tar.gz differ
diff --git a/src/perl/modules_targz/rob_misc-0.13.tar.gz b/src/perl/modules_targz/rob_misc-0.13.tar.gz
index 63b25e047424929ff1ea2cc5a3ffc0a5dd8acd79..59772d5a9801dc54025e83ceb9043b0b62d289f4 100644
Binary files a/src/perl/modules_targz/rob_misc-0.13.tar.gz and b/src/perl/modules_targz/rob_misc-0.13.tar.gz differ
diff --git a/src/perl/modules_targz/robqueue-0.05.tar.gz b/src/perl/modules_targz/robqueue-0.05.tar.gz
index 98ba955c6d1717226e8e1cb83cd2d4d9a79a04ee..5828be7869c9a40647c2d32de4f2d2c679b24d3f 100644
Binary files a/src/perl/modules_targz/robqueue-0.05.tar.gz and b/src/perl/modules_targz/robqueue-0.05.tar.gz differ
diff --git a/src/perl/modules_targz/spacing_functions-0.02.tar.gz b/src/perl/modules_targz/spacing_functions-0.02.tar.gz
index 348e0db2350150aeb390238ceb48d0d9731752b2..056015541e42f87b9fd5faba03d18457b89dd264 100644
Binary files a/src/perl/modules_targz/spacing_functions-0.02.tar.gz and b/src/perl/modules_targz/spacing_functions-0.02.tar.gz differ
diff --git a/src/setup/reset_preferences.c b/src/setup/reset_preferences.c
index 5c060bc0e17c967d2b4d355359287454e65f6e24..fd40f876aca1661677367ebd1293aec8cb06044f 100644
--- a/src/setup/reset_preferences.c
+++ b/src/setup/reset_preferences.c
@@ -185,9 +185,6 @@ void reset_preferences(struct preferences_t * RESTRICT preferences)
 #endif
 
 
-#ifdef AXEL
-    preferences->overshooting_tpagb=TRUE;
-#endif
 #ifdef VW93_MIRA_SHIFT
     preferences->vw93_mira_shift=0.0;
 #endif
diff --git a/src/setup/version.c b/src/setup/version.c
index 82f8dd589601b446ef816afd61411871cd688b4a..d252ee6cb500e8773b9ecaa22c589745fd475b87 100644
--- a/src/setup/version.c
+++ b/src/setup/version.c
@@ -507,11 +507,8 @@ void version(struct stardata_t * RESTRICT stardata)
     PRINTF("ACQUIRE_TEST_FOR_NEGATIVE_AGES is not defined\n");
 #endif
 
-#ifdef AXEL
-    PRINTF("AXEL is defined\n");
-#else
-    PRINTF("AXEL is not defined\n");
-#endif
+    PRINTF("AXEL is not defined (it is depreacted)\n");
+
 #ifdef ROBSMOOTH
     PRINTF("ROBSMOOTH is defined\n");
 #ifdef ROBSMOOTH_STOP_AT_TPAGB
diff --git a/src/stellar_structure/stellar_structure_AGB.c b/src/stellar_structure/stellar_structure_AGB.c
index 9bc7f8d06f251970170efd3787f58e85986747da..36f0157995953bc727fa88a5e0270ad7ea01ef6f 100644
--- a/src/stellar_structure/stellar_structure_AGB.c
+++ b/src/stellar_structure/stellar_structure_AGB.c
@@ -1,5 +1,7 @@
 #include "../binary_c.h"
 #include "stellar_structure_debug.h"
+//#undef DEBUG
+//#define DEBUG 0
 
 Stellar_type stellar_structure_AGB(struct new_stellar_structure_t * s,
                                    double *mcx,
@@ -36,10 +38,7 @@ Stellar_type stellar_structure_AGB(struct new_stellar_structure_t * s,
 #ifdef SMOOTH_AGB
     *mcx = mass_CO_core_at_BAGB(s->phase_start_mass,stardata->common.metallicity);
 #else //SMOOTH_AGB
-#ifdef AXEL
-    *mcx = mass_CO_core_at_BAGB(s->phase_start_mass,stardata->common.metallicity);
-    Dprint("Axel's CO core mass at BAGB = %12.12e\n",*mcx);
-#else //AXEL 
+
     *mcx = mcgbtf(tbagb,
                   s->GB[8],
                   s->GB,
@@ -48,8 +47,6 @@ Stellar_type stellar_structure_AGB(struct new_stellar_structure_t * s,
                   s->timescales[T_EAGB_T],
                   s->phase_start_mass
         );
-
-#endif //AXEL
 #endif //SMOOTH_AGB
 
   
@@ -59,12 +56,15 @@ Stellar_type stellar_structure_AGB(struct new_stellar_structure_t * s,
      * of stardata->preferences->chandrasekhar_mass. Of course these might be exactly the
      * same thing...
      */
-    mcmax = MAX(MAX(stardata->preferences->max_tpagb_core_mass,(0.7730*mcbagb-0.350)),1.050*(*mcx));
+    mcmax = MAX4(
+        stardata->preferences->max_tpagb_core_mass,
+        0.7730*mcbagb-0.350,
+        1.050* *mcx,
+        (s->stellar_type == TPAGB ? stardata->preferences->max_tpagb_core_mass : 0.0)
+        );
 
     Dprint("Compare mcx=%g to mcxmax=%g\n",*mcx,mcmax);
 
-    if(s->stellar_type==TPAGB) mcmax=stardata->preferences->max_tpagb_core_mass;
-
     /*
      * NB real TPAGB evolution is now done separately by the nucsyn
      * routine nucsyn_tpagb (if NUCSYN is defined), 
@@ -75,15 +75,13 @@ Stellar_type stellar_structure_AGB(struct new_stellar_structure_t * s,
     /*
      * Set core mass, luminosity and age
      */
-#if (defined(NUCSYN) && defined(ROBSMOOTHDEBUG))
+#if defined NUCSYN && defined ROBSMOOTHDEBUG
     printf("ROBSMOOTH Check TPAGB age=%g tscl=%g mcx=%g core_mass=%g\n",
            s->age,s->timescales[T_TPAGB_FIRST_PULSE],*mcx,s->core_mass);
 #endif
 
-    if(((s->age<s->timescales[T_TPAGB_FIRST_PULSE])
-//        ||(s->stellar_type==CHeB)
-           )&&
-       (s->stellar_type!=TPAGB))
+    if(s->age < s->timescales[T_TPAGB_FIRST_PULSE] &&
+       s->stellar_type!=TPAGB)
     {
         /* EAGB star */
         convert_to_helium_star=
@@ -126,50 +124,30 @@ Stellar_type stellar_structure_AGB(struct new_stellar_structure_t * s,
     {
 #ifndef NUCSYN
         /* NUCSYN is not defined */
-
         s->radius = ragbf(s->mass,
-                   s->luminosity,
-                   metallicity_parameters[ZPAR_MASS_HE_FLASH],
-                   giant_branch_parameters
+                          s->luminosity,
+                          metallicity_parameters[ZPAR_MASS_HE_FLASH],
+                          giant_branch_parameters
 #ifdef AXEL_RGBF_FIX
-                   ,stardata->common.metallicity
+                          ,stardata->common.metallicity
 #endif // AXEL_RGBF_FIX
             );
+
                 
 #else // NUCSYN
 
       /* NUCSYN is defined */
 
 
-#ifdef AXEL
-        s->radius = ragbf(s->phase_start_mass,
-                   s->luminosity,
-                   metallicity_parameters[ZPAR_MASS_HE_FLASH],
-                   giant_branch_parameters
-#ifdef AXEL_RGBF_FIX
-                   ,stardata->common.metallicity
-#endif // AXEL_RGBF_FIX
-            );
-                        
-        s->radius *= pow(s->mass/ s->phase_start_mass,-0.3333333333);
-
-        Dprint("Axel radius %12.12e from mass=%12.12e lum=%12.12e zpar[2]=%12.12e\n",s->radius,
-               s->phase_start_mass,s->luminosity,metallicity_parameters[ZPAR_MASS_HE_FLASH]);
-
-#else // AXEL
-
-      /* AXEL not defined */
-
-
         if(s->stellar_type==EAGB)
         {
             /* EAGB */
             s->radius = ragbf(s->mass,
-                       s->luminosity,
-                       metallicity_parameters[ZPAR_MASS_HE_FLASH],
-                       giant_branch_parameters
+                              s->luminosity,
+                              metallicity_parameters[ZPAR_MASS_HE_FLASH],
+                              giant_branch_parameters
 #ifdef AXEL_RGBF_FIX
-                       ,stardata->common.metallicity
+                              ,stardata->common.metallicity
 #endif // AXEL_RGBF_FIX
                 );
 
@@ -216,14 +194,14 @@ Stellar_type stellar_structure_AGB(struct new_stellar_structure_t * s,
 
             /* estimate the radius at the first thermal pulse (from Amanda) */
             double r1tp_Karakas=Karakas2002_ragb_teff(s->mass,
-                                                 stardata->common.metallicity,
-                                                 star->l1tp_guess, // set in stellar_structure_EAGB
-                                                 s->phase_start_mass,
-                                                 star->mc1tp_guess,
-                                                 s->mass-star->mc1tp_guess,
-                                                 star->mc1tp_guess,
-                                                 star,
-                                                 stardata);
+                                                      stardata->common.metallicity,
+                                                      star->l1tp_guess, // set in stellar_structure_EAGB
+                                                      s->phase_start_mass,
+                                                      star->mc1tp_guess,
+                                                      s->mass-star->mc1tp_guess,
+                                                      star->mc1tp_guess,
+                                                      star,
+                                                      stardata);
         
             {
                 /* scale the radius to match at the first thermal pulse */
@@ -266,10 +244,10 @@ Stellar_type stellar_structure_AGB(struct new_stellar_structure_t * s,
             s->radius *= 
                 pow((1-((s->age-tbagb)/(s->timescales[T_TPAGB_FIRST_PULSE]-tbagb))),1.0)+
                 Karakas2002_ragb_teff(s->mass,
-                                 stardata->common.metallicity,
-                                 s->luminosity,s->phase_start_mass,s->core_mass,
-                                 s->mass-s->core_mass,
-                                 s->core_mass,star,stardata)  *
+                                      stardata->common.metallicity,
+                                      s->luminosity,s->phase_start_mass,s->core_mass,
+                                      s->mass-s->core_mass,
+                                      s->core_mass,star,stardata)  *
                 pow(((s->age-tbagb)/(s->timescales[T_TPAGB_FIRST_PULSE]-tbagb)),1.0);
 
 #endif //SMOOTH_AGB
@@ -279,13 +257,12 @@ Stellar_type stellar_structure_AGB(struct new_stellar_structure_t * s,
         {
             /* TPAGB : always use fit to Amanda's models */
             s->radius = Karakas2002_ragb_teff(s->mass,
-                                  stardata->common.metallicity,
-                                  s->luminosity,s->phase_start_mass,star->mc0,
-                                  s->mass-s->core_mass,
-                                  star->mc_nodup,star,stardata); 
-          
-        }
-#endif//AXEL    
+                                              stardata->common.metallicity,
+                                              s->luminosity,s->phase_start_mass,star->mc0,
+                                              s->mass-s->core_mass,
+                                              star->mc_nodup,star,stardata); 
+            
+        }   
         Dprint("stellar_structure_AGB: stellar type = %d, r=%12.12e (L=%g)\n",s->stellar_type,s->radius,s->luminosity);
 
 
diff --git a/src/stellar_structure/stellar_structure_EAGB.c b/src/stellar_structure/stellar_structure_EAGB.c
index 0b07845866c3e0ee606c451ba72a64e6e1699136..3b0a6c69a9943159b9c666346039247b92c4e5d0 100644
--- a/src/stellar_structure/stellar_structure_EAGB.c
+++ b/src/stellar_structure/stellar_structure_EAGB.c
@@ -33,19 +33,6 @@ Boolean stellar_structure_EAGB(struct new_stellar_structure_t * s,
                                s->timescales[8],
                                s->timescales[9]);
 #else //SMOOTH_AGB
-#ifdef AXEL
-    star->mcx_EAGB = mcx_eagbf(s->age,
-                               s->GB[8],
-                               GB,
-                               s->timescales[7],
-                               s->timescales[8],
-                               s->timescales[9]);
-    *mcx = star->mcx_EAGB;
- 
-    s->core_mass = MAX(mcbagb,star->mcx_EAGB);
-    Dprint("Axel's CO core mass as f(t) = %12.12e so core mass = %12.12e\n",star->mcx_EAGB,s->core_mass);
-
-#else//AXEL
     *mcx = mcgbtf(s->age,
                   s->GB[8],
                   s->GB,
@@ -97,7 +84,6 @@ Boolean stellar_structure_EAGB(struct new_stellar_structure_t * s,
     s->core_mass=mcbagb;
 #endif // NUCSYN
 
-#endif // AXEL
 #endif //SMOOTH_AGB
 
     Dprint("STELLAR_STRUCTURE type=%d mc=mcbagb=%12.12e mcx=%12.12e\n",
@@ -106,11 +92,11 @@ Boolean stellar_structure_EAGB(struct new_stellar_structure_t * s,
            *mcx);
 
 
-#if (defined(SMOOTH_AGB)||defined(AXEL))
+#if defined SMOOTH_AGB
     s->luminosity = lum_mc_EAGB(star->mcx_EAGB,GB);
 #else 
     s->luminosity = lmcgbf(*mcx,s->GB);
-#endif  // SMOOTH_AGB or AXEL
+#endif  // SMOOTH_AGB
 
     //Dprint("STAR Set luminosity=%12.12e (stellar type %d mcx=%g)\n",s->luminosity,s->stellar_type,*mcx);
     star->mcx_EAGB = *mcx;
@@ -199,7 +185,7 @@ Boolean stellar_structure_EAGB(struct new_stellar_structure_t * s,
 
     Dprint("mt=%12.12e core=%12.12e (if mt<core > TPAGB)\n",s->mass,s->core_mass);
 
-    if(LESS_OR_EQUAL(s->mass,s->core_mass)) 
+    if(LESS_OR_EQUAL(s->mass, s->core_mass)) 
     {               
         /*
          * Evolved naked helium star as the envelope is lost but the
@@ -213,36 +199,18 @@ Boolean stellar_structure_EAGB(struct new_stellar_structure_t * s,
 #ifndef NO_UNEXPECTED_MASS_CHANGES
         s->mass = s->core_mass;
 #endif 
-
         s->phase_start_mass = s->mass;
 
 #ifdef SMOOTH_AGB
         s->core_mass = star->mcx_EAGB;
 #else //SMOOTH_AGB
-#ifdef AXEL
-        s->core_mass = star->mcx_EAGB;
-
-        Dprint("Axel's CO core mass on the EAGB %12.12e\n",
-               s->core_mass);
 
-#else//AXEL
-
-        // NB use star->stellar NOT s->stellar_type, as that is
-        // definitely post-AGB!
-        if(star->stellar_type>TPAGB)
-        {
-            /* 
-             * The core cannot shrink if we're post-AGB as
-             * the CO core has already been built up!
-             */
-            s->core_mass = MAX(s->core_mass,*mcx);
-        }
-        else
-        {
-            s->core_mass = *mcx;
-        }
-
-#endif//AXEL
+        /* 
+         * The core cannot shrink if we're post-AGB as
+         * the CO core has already been built up!
+         */
+        s->core_mass = star->stellar_type>TPAGB ? MAX(s->core_mass,*mcx) : *mcx;
+        
 #endif //SMOOTH_AGB
  
         call_calc_lt2(s->stellar_type,s->phase_start_mass,s->mass);
diff --git a/src/stellar_structure/stellar_structure_HeStar.c b/src/stellar_structure/stellar_structure_HeStar.c
index b97fe69d93d3e46f5b6f36a08f4ab0e7b2a67e17..48800b3993ee8c8f23070de6b6275424b24a37c8 100644
--- a/src/stellar_structure/stellar_structure_HeStar.c
+++ b/src/stellar_structure/stellar_structure_HeStar.c
@@ -351,7 +351,9 @@ void stellar_structure_HeStar(struct new_stellar_structure_t * s,
                          */
                         if(j>jlim)
                         {
+#ifdef NUCSYN
                             star->sn_last_time=SN_GRB_COLLAPSAR;
+#endif
                             star->SN_type = SN_GRB_COLLAPSAR;
                         }
                     }
diff --git a/src/stellar_structure/stellar_structure_TPAGB.c b/src/stellar_structure/stellar_structure_TPAGB.c
index 4dbd9ffced4fd6df0dc5fc980a85d79bd1797292..3c6ac493086c9ecda13f813d810dd5e38afadcef 100644
--- a/src/stellar_structure/stellar_structure_TPAGB.c
+++ b/src/stellar_structure/stellar_structure_TPAGB.c
@@ -22,14 +22,6 @@ void stellar_structure_TPAGB(struct new_stellar_structure_t * s,
     double mc1tp = Karakas2002_mc1tp(s->phase_start_mass,stardata->common.metallicity,star,stardata);
 
 #ifdef NUCSYN_SECOND_DREDGE_UP
-#ifdef AXEL
-    // check this!
-    if(!RLOF_CALL &&
-       star->second_dredge_up == FALSE &&
-       mc1tp < mcbagb &&
-       mc1tp < stardata->preferences->chandrasekhar_mass &&
-       s->stellar_type == EAGB)
-#else
         Dprint("2DUP check : if (RLOF_CALL=%d==0) && (star->second_dredge_up=%d=0) && %12.12e < mcbagb=%12.12e < %12.12e (st=%d)\n",
                RLOF_CALL,
                star->second_dredge_up,
@@ -39,7 +31,6 @@ void stellar_structure_TPAGB(struct new_stellar_structure_t * s,
        mcbagb > mc1tp && 
        mcbagb < stardata->common.max_mass_for_second_dredgeup &&
        (s->stellar_type == EAGB || s->stellar_type == TPAGB))
-#endif
     {
 
         if(star->second_dredge_up==FALSE)
@@ -59,9 +50,7 @@ void stellar_structure_TPAGB(struct new_stellar_structure_t * s,
     }
 
 #endif /* NUCSYN_SECOND_DREDGE_UP */
-#endif /* NUCSYN */    
-       
-#ifdef NUCSYN
+
     /*
      * Call the tpagb function to deal with the evolution, since
      * it is closely linked to the nucleosynthesis! *
@@ -81,40 +70,11 @@ void stellar_structure_TPAGB(struct new_stellar_structure_t * s,
                              s->timescales[7],
                              s->timescales[7],
                              s->timescales[9]);
-#else //SMOOTH_AGB
-#ifdef AXEL
-    /*
-     * core mass evolution is dealt with on the TPAGB by the
-     * nucleosynthesis TPAGB code, however it still has to be
-     * set at the beginning of the TPAGB. For continuity we use
-     * the same function as for the overshooting model.
-     */
-    s->core_mass = mcx_eagbf(s->age,
-                             s->GB[8],
-                             s->GB,
-                             s->timescales[7],
-                             s->timescales[7],
-                             s->timescales[9]);
-                 
-
-    Dprint("Axel's core mass on EAGB (post2dup!) = %12.12e from age=%12.12e s->GB[8]=%12.12e s->timescales7,8,9=%12.12e %12.12e %12.12e\n",
-           s->core_mass,
-           s->age,s->GB[8],
-           s->timescales[7],
-           s->timescales[7],
-           s->timescales[9]
-        );
-        
-#endif // AXEL
 #endif // SMOOTH_AGB
 
     Dprint("COREDIFF mc1tp=%12.12e core_mass=%12.12e\n",
            mc1tp,s->core_mass);
 
-
-
-#ifndef AXEL
-
     if(star->num_thermal_pulses<1)
     {
         /* 
@@ -127,11 +87,13 @@ void stellar_structure_TPAGB(struct new_stellar_structure_t * s,
         /* Use Hurley core mass at the 1st TP */
 #else
         /* Enforce Amanda's core masses at the 1st TP */
-        s->core_mass = MIN(mc1tp,s->core_mass);
+        s->core_mass = MIN(mc1tp,
+                           s->core_mass);
 #endif
       
         /* Second dredge up may reduce the core mass */
-        s->core_mass = MIN(s->core_mass, guess_mc1tp(s->phase_start_mass,star,stardata));
+        s->core_mass = MIN(s->core_mass, 
+                           guess_mc1tp(s->phase_start_mass,star,stardata));
 
         /*
           printf("COMPACT%d %g %g %d compact=%g mc=%g\n",
@@ -146,11 +108,11 @@ void stellar_structure_TPAGB(struct new_stellar_structure_t * s,
         /* prevent 2nd DUP into the CO core */
         if(stardata->model.intpol==0) s->core_mass = MAX(star->compact_core_mass,s->core_mass);
     }
-#endif //AXEL
+
 
     Dprint("TPAGB BEGIN mc=%12.12e\n",s->core_mass);
 
-    /* now set the stellar type and evolve on the TPAGB */
+    /* set the stellar type to TPAGB */
     s->stellar_type = TPAGB;
 
     if(!RLOF_CALL)
@@ -192,8 +154,6 @@ void stellar_structure_TPAGB(struct new_stellar_structure_t * s,
 #else
     /* Old way of doing things - somewhat dubious */
     s->stellar_type = TPAGB;
-
-    double mcwas=s->core_mass;
     s->core_mass = mcgbtf(s->age,
                           s->GB[2],
                           s->GB,
@@ -202,14 +162,12 @@ void stellar_structure_TPAGB(struct new_stellar_structure_t * s,
                           s->timescales[T_TPAGB_T],
                           s->phase_start_mass
         );
-                
     s->luminosity = lmcgbf(s->core_mass,s->GB);
               
     /*
      * Approximate 3rd Dredge-up on AGB by limiting Core_Mass.
      */
     double lambda = MIN(0.90,(0.30+0.0010*POW5(s->phase_start_mass)));
-  
     *mcx = mcgbtf(s->timescales[T_TPAGB_FIRST_PULSE],
                   s->GB[2],
                   s->GB,
@@ -225,5 +183,4 @@ void stellar_structure_TPAGB(struct new_stellar_structure_t * s,
 #endif /* NUCSYN */
     *mcx = s->core_mass;
     *mcmax = MIN(s->mass,*mcmax);
-    
 }
diff --git a/src/stellar_structure/stellar_structure_remnant_and_perturbations.c b/src/stellar_structure/stellar_structure_remnant_and_perturbations.c
index 9a90d319923eebf90d9ddc3185dbac779de94de8..5b1ba334bd9cd3c1843300d0db522bd8bcca6b8c 100644
--- a/src/stellar_structure/stellar_structure_remnant_and_perturbations.c
+++ b/src/stellar_structure/stellar_structure_remnant_and_perturbations.c
@@ -92,13 +92,7 @@ void stellar_structure_remnant_and_perturbations(struct new_stellar_structure_t
 #ifdef SMOOTH_AGB
         remnant_luminosity = lum_mc_EAGB(star->mcx_EAGB,GB);
 #else //SMOOTH_AGB
-#ifdef AXEL
-        remnant_luminosity = lum_mc_EAGB(star->mcx_EAGB,GB);
-        Dprint("Axel's EAGB luminosity %12.12e\n",remnant_luminosity);
-
-#else //AXEL 
         remnant_luminosity = lmcgbf(mcx,s->GB);
-#endif//AXEL
 #endif//SMOOTH_AGB
 
         if(tau<1.0)
diff --git a/src/stellar_timescales/stellar_timescales_massive_AGB.c b/src/stellar_timescales/stellar_timescales_massive_AGB.c
index e2d37ea2f782c720d680ae50315832d209450e0a..83a4a20f644f2b44834098136eece3e2fb2c74a2 100644
--- a/src/stellar_timescales/stellar_timescales_massive_AGB.c
+++ b/src/stellar_timescales/stellar_timescales_massive_AGB.c
@@ -43,9 +43,6 @@ void stellar_timescales_massive_AGB_tn(Stellar_type stellar_type,
     *tn = timescales[T_TPAGB_TINF_1] - (1.0/((GB[GB_SMOOTH_2]-1.0)*GB[GB_A_H_HE]*GB[GB_SMOOTH_1]))*pow(MAX(mc1,mc1_jarr),(1.0-GB[GB_SMOOTH_2]));
 
 #else //SMOOTH_AGB
-#ifdef AXEL
-    *tn = timescales[T_TPAGB_TINF_1] - (1.0/((GB[GB_AXEL_2]-1.0)*GB[GB_A_H_HE]*GB[GB_AXEL_1]))*pow(mc1,(1.0-GB[GB_AXEL_2]));
-#else
     if(LESS_OR_EQUAL(mc1,GB[GB_Mx]))
     {
 	*tn = timescales[T_TPAGB_TINF_1] - (ip/(GB[GB_A_H_HE]*GB[GB_D]))*pow(mc1,mp);
@@ -54,7 +51,5 @@ void stellar_timescales_massive_AGB_tn(Stellar_type stellar_type,
     {
         *tn = timescales[T_TPAGB_TINF_2] - (iq/(GB[GB_A_H_HE]*GB[GB_B]))*pow(mc1,mq);
     }
-
-#endif // AXEL
 #endif // SMOOTH_AGB
 }
diff --git a/src/stellar_timescales/stellar_timescales_post_HG.c b/src/stellar_timescales/stellar_timescales_post_HG.c
index 636f670ea5ff6b3c09920af4d1af7b0a1b3e3d64..ee9f10b6254edf0f7e171a1e395f7b142c772f9c 100644
--- a/src/stellar_timescales/stellar_timescales_post_HG.c
+++ b/src/stellar_timescales/stellar_timescales_post_HG.c
@@ -199,54 +199,6 @@ int stellar_timescales_post_HG(double tbagb,
 
 #else //SMOOTH_AGB
 
-#ifdef AXEL
-    /*
-     * Use phase_start_mass NOT mass because otherwise there is
-     * a problem with the start of the TPAGB. This
-     * is a reasonable assumption: there is not usually
-     * much mass loss on the EAGB due to winds and if
-     * there is RLOF then we'll probably not get to the
-     * TPAGB anyway...
-     */
-    Dprint("L 1TP (AXEL) from phase_start_mass=%g mc1=%g menv=%g\n",phase_start_mass,mc1,phase_start_mass-mc1);
-    luminosities[L_TPAGB_FIRST_PULSE] =
-        Karakas2002_lumfunc(
-            phase_start_mass,
-            mc1,
-            phase_start_mass - mc1,
-            mc1,
-            0.0,
-            metallicity,
-            stardata,
-            star
-            );
-
-    /*
-     * GB numbers for EAGB : used to follow L as f(t) on the EAGB (assuming little
-     * mass loss during that stage)
-     */
-    GB[GB_AXEL_2]=log(luminosities[L_TPAGB_FIRST_PULSE]/luminosities[L_BAGB])/
-        log(mc1/mass_CO_core_at_BAGB(phase_start_mass,metallicity));
-    GB[GB_AXEL_1]=luminosities[L_TPAGB_FIRST_PULSE]*pow(mc1,-GB[GB_AXEL_2]);
-
-    /*
-     * EAGB time parameters
-     */
-    tbagb = timescales[T_HE_IGNITION] + timescales[T_HE_BURNING];
-
-    y2=GB[GB_AXEL_2]-1.0;
-    y=y2/GB[GB_AXEL_2];
-
-#ifndef USB_BSE_TIMESCALES_H
-    // NB these are overridden from the values given above
-    
-    timescales[T_EAGB_TINF_2]=timescales[T_EAGB_TINF_1] = tbagb + (1.0/(y2*GB[GB_A_HE]*GB[GB_AXEL_1]))*
-        pow(GB[GB_AXEL_1]/luminosities[L_BAGB],y);
-
-    timescales[T_EAGB_T] = timescales[T_EAGB_TINF_1] - (timescales[T_EAGB_TINF_1] - tbagb)*
-        pow(luminosities[L_BAGB]/luminosities[L_LMX],y);
-#endif    
-#else//AXEL
 
     /* AXEL not defined */
     Dprint("No AXEL defined\n");
@@ -285,7 +237,7 @@ int stellar_timescales_post_HG(double tbagb,
     Dprint("L1tp = %g from mass=%g mc1=%g c.f. jarrod=lmcgbf(%g)=%g\n",
            luminosities[L_TPAGB_FIRST_PULSE],
            mass,mc1,mc1,lmcgbf(mc1,GB));
-#endif //AXEL
+
 #endif //SMOOTH_AGB
 #endif // NUCSYN
 
@@ -296,12 +248,7 @@ int stellar_timescales_post_HG(double tbagb,
 
 
 #else //SMOOTH_AGB
-#ifdef  AXEL
-    timescales[T_TPAGB_FIRST_PULSE] = timescales[T_EAGB_TINF_1] - 
-        (1.0/(y2*GB[GB_A_HE]*GB[GB_AXEL_1]))*pow(mc1, 1.0-GB[GB_AXEL_2]);
-#else//AXEL
   
-    /* jarrod method */
     if(LESS_OR_EQUAL(mc1,GB[GB_Mx]))
     {
         timescales[T_TPAGB_FIRST_PULSE] = timescales[T_EAGB_TINF_1] - (ip/(GB[GB_A_HE]*GB[GB_D]))*pow(mc1,mp); 
@@ -310,7 +257,7 @@ int stellar_timescales_post_HG(double tbagb,
     {
         timescales[T_TPAGB_FIRST_PULSE] = timescales[T_EAGB_TINF_2] - (iq/(GB[GB_A_HE]*GB[GB_B]))*pow(mc1,mq);
     }
-#endif//AXEL
+
 #endif //SMOOTH_AGB
 
     Dprint("First pulse at %g\n",timescales[T_TPAGB_FIRST_PULSE]);
@@ -359,15 +306,6 @@ int stellar_timescales_post_HG(double tbagb,
                     timescales[T_EAGB_T]);
 
 #else //SMOOTH_AGB
-#ifdef AXEL
-    mc2 = mcx_eagbf(timescales[T_HE_IGNITION] + timescales[T_HE_BURNING],
-                    GB[GB_A_HE],
-                    GB,
-                    timescales[T_EAGB_TINF_1],
-                    timescales[T_EAGB_TINF_1],
-                    timescales[T_EAGB_T]);
-
-#else
 
     mc2 = mcgbtf(timescales[T_HE_IGNITION] + timescales[T_HE_BURNING],
                  GB[GB_A_HE],
@@ -377,7 +315,7 @@ int stellar_timescales_post_HG(double tbagb,
                  timescales[T_EAGB_T],
                  phase_start_mass
         );
-#endif//AXEL
+
 #endif//SMOOTH_AGB
 
   
@@ -392,9 +330,6 @@ int stellar_timescales_post_HG(double tbagb,
 
 #else //SMOOTH_AGB
 
-#ifdef AXEL
-        timescales[T_TMCMAX] = timescales[T_EAGB_TINF_1] - (1.0/((GB[GB_AXEL_2]-1.0)*GB[GB_A_HE]*GB[GB_AXEL_1]))*pow(mcmax,(1.0-GB[GB_AXEL_2]));
-#else //AXEL
         if(LESS_OR_EQUAL(mcmax,GB[GB_Mx]))
         {
             timescales[T_TMCMAX] = timescales[T_EAGB_TINF_1] - (ip/(GB[GB_A_HE]*GB[GB_D]))*pow(mcmax,mp);
@@ -403,7 +338,6 @@ int stellar_timescales_post_HG(double tbagb,
         {
             timescales[T_TMCMAX] = timescales[T_EAGB_TINF_2] - (iq/(GB[GB_A_HE]*GB[GB_B]))*pow(mcmax,mq);
         }
-#endif //AXEL
 #endif //SMOOTH_AGB
     }
     else
@@ -420,7 +354,6 @@ int stellar_timescales_post_HG(double tbagb,
         mcmax = (mcmax - lambda*mc1)/(1.0 - lambda);
 
 #ifndef SMOOTH_AGB
-#ifndef AXEL
 
         if(LESS_OR_EQUAL(mcmax,GB[GB_Mx]))
 	{
@@ -430,7 +363,7 @@ int stellar_timescales_post_HG(double tbagb,
         {
             timescales[T_TMCMAX] = timescales[T_TPAGB_TINF_2] - (iq/(GB[GB_A_H_HE]*GB[GB_B]))*pow(mcmax,mq);
         }
-#endif // AXEL
+
 #endif //SMOOTH_AGB
     }
     timescales[T_TMCMAX] = MAX(tbagb,timescales[T_TMCMAX]);
diff --git a/src/timestep/timestep_EAGB.c b/src/timestep/timestep_EAGB.c
index 58cd294e38c1a8f92478331019a6ac6b940dde60..a890ecc842924680334366d949727ed16d9f56bf 100644
--- a/src/timestep/timestep_EAGB.c
+++ b/src/timestep/timestep_EAGB.c
@@ -31,17 +31,7 @@ void timestep_EAGB(Timestep_prototype_args)
         
 #else // SMOOTH_AGB
 
-    /* probably using ROBSMOOTH or AXEL */
-
-#ifdef AXEL
-    *time_remaining = tscls[13] - age;
-    if(*time_remaining<0.2)
-    {
-        Set_timestep(*dt,*time_remaining,star,DT_LIMIT_EAGB_AXEL);
-    }
-#else // AXEL
     *time_remaining = MIN(tn,tscls[13]) - age;
-#endif //AXEL
 
 #endif //SMOOTH_AGB
 
diff --git a/src/zfuncs/Karakas2002_mc1tp.c b/src/zfuncs/Karakas2002_mc1tp.c
index 08f6c2712d1d419bc607f4f76ac0b68aad100f41..a549a9f692c65701321afa3de3b9107098336855 100644
--- a/src/zfuncs/Karakas2002_mc1tp.c
+++ b/src/zfuncs/Karakas2002_mc1tp.c
@@ -13,9 +13,6 @@ double Karakas2002_mc1tp(double m,
     double m_in=m,metallicity_in=metallicity; // mass,metallicity passed in
     double y;
 
-#ifdef AXEL
-    double mcbagb,mc1tp_ov,mc1tp_nov;
-#endif
 
     Dprint("find mc1tp from m=%g z=%g star->phase_start_mass=%g\n",m,metallicity,star->phase_start_mass);
 
@@ -128,43 +125,6 @@ double Karakas2002_mc1tp(double m,
     Dprint("Amanda's interpolate gave y=%g (m=%g z=%g)\n",y,m,metallicity);
 #endif
 
-#ifdef AXEL
-    if(stardata->preferences->overshooting_tpagb==TRUE)
-    {
-        // Implement Axel's changes to include overshooting
-        // cores on the TPAGB
-          
-        // helium core mass at the start of the EAGB
-        // = helium core mass at the end of the EAGB
-        mcbagb=mcagbf(star->phase_start_mass,star,stardata);
-        Dprint("Axel mcbagb=%g from phase_start_mass=%g\n",mcbagb,star->phase_start_mass);
-
-        // Amanda's non-overshooting fit to mc1tp
-        mc1tp_nov=y; 
-
-        // Overshooting fit to mc1tp 
-        mc1tp_ov=0.44*mcbagb + 0.448;
-        
-        // now what?
-        // The following expression works thus:
-          
-        // Choose the smaller of mcbagb and mc1tp_ov since
-        // the TPAGB must be when the CO core reaches mcbagb
-        // or perhaps smaller if there is 2nd dredge-up but it 
-        // cannot be larger.
-
-        // If mc1tp_nov is larger than this value then believe it
-        // because we trust Amanda's models more than we trust
-        // the overshooting models at low mass (when this is 
-        // likely to occur).
-        y=MAX(MIN(mcbagb,mc1tp_ov),
-              mc1tp_nov);
-
-        Dprint("Axel core mass %g from MAX(MIN(mcbagb=%g,mc1tp_ov=%g),mc1tp_nov=%g)\n",
-               y,mcbagb,mc1tp_ov,mc1tp_nov);
-    }
-#endif//AXEL
-
     /* we have no fits above M~6.5, use Jarrod's */
     double fl=1.0/(1.0+pow(0.0001,(star->phase_start_mass-7.0))); // smooth 'step' function
 
@@ -177,7 +137,6 @@ double Karakas2002_mc1tp(double m,
     Dprint("MC1TP interpolate A=%g, J=%g -> ",y,mc1tpj);
     y=(1.0-fl)*y + fl * mc1tpj;
     Dprint("%g\n",y);
-    
 
 #ifdef NANCHECKS
     if(isnan(y))
@@ -185,7 +144,6 @@ double Karakas2002_mc1tp(double m,
         Exit_binary_c(EXIT_NAN,"Mc1tp NAN\n");
     }
 #endif
-
     return(y);
 }
 
diff --git a/src/zfuncs/ragbf.c b/src/zfuncs/ragbf.c
index 298794dc093df17e704b4e23a91f296d55e8df19..2741cde660949c6d346a666e75f35ee177e08c45 100644
--- a/src/zfuncs/ragbf.c
+++ b/src/zfuncs/ragbf.c
@@ -2,6 +2,11 @@
 
 #ifdef AXEL_RGBF_FIX
 
+/*
+ * Axel's modified ragbf function, based on BSE
+ * but updated.
+ */
+
 double ragbf(const double m, /* mass */
              const double lum,/* luminosity */
              const double mhelflsh, /* helium flash mass */
@@ -205,6 +210,11 @@ double ragbf_1(const double m, /* mass */
 
 #else // AXEL_RGBF_FIX
 
+
+/*
+ * The original RGBF function from BSE
+ */
+
 double ragbf(const double m, /* mass */
              const double lum,/* luminosity */
              const double mhelf, /* helium flash mass */
diff --git a/tbse b/tbse
index 66cd069ca994450756af3f837f8cb1eeb1aa9110..5db5a595d7397473d16bea293f9fb90291d13e0d 100755
--- a/tbse
+++ b/tbse
@@ -83,7 +83,7 @@ ECC=0.0
 M1=3; M2=1; PER=30
 
 # AGB test
-M1=3; M2=1; PER=1000000
+#M1=4; M2=1; PER=1000000
 
 # max evolution time in Myr (WMAP suggests 13.7Gyr)
 MAX_EVOLUTION_TIME=10000
@@ -1297,6 +1297,7 @@ $HE_IG_EXTRA \
 --sn_kick_companion_AIC_BH $SN_KICK_COMPANION_AIC_BH \
 --sn_kick_companion_BH_BH $SN_KICK_COMPANION_BH_BH \
 --sn_kick_companion_BH_NS $SN_KICK_COMPANION_BH_NS \
+--AGB_method $AGB_METHOD \
 $@"
 fi
 
diff --git a/test_dewi_tauris.pl b/test_dewi_tauris.pl
index 8efd714832e64a67d68e2033561e01f637fd9175..24ed9c61d7839d150770f36feaeab2d3ca78dc8a 100755
--- a/test_dewi_tauris.pl
+++ b/test_dewi_tauris.pl
@@ -32,39 +32,67 @@ sub parse_bse
         last if($header eq 'fin');
 	if($header eq 'COMENVLOG')
 	{
-            print {$datafp} "@$la\n";
+            #if($la->[1] == 5 || $la->[1] == 6)
+            #if($la->[1] != 4)
+            {
+                print {$datafp} "@$la\n";
+            }
         }
     }
 }
 
 # reconstruct their Fig.1 which is lamdba as a 
 # function of R/Rsun for various masses
-my $gpfile = "$outdir/Fig1.plt";
-open(my $gp,'>',$gpfile)||die;
-print $gp "set terminal pdfcairo
-set output \"$outdir/Fig1.pdf\"
-set xlabel \"Radius / Rsun\"
+my $gpfile = {
+    dewi=>"$outdir/Dewi_Tauris_Fig1.plt",
+    vds=>"$outdir/VDSluys_Fig4.plt"
+};
+my $gp = {};
+
+foreach my $k (keys %$gpfile)
+{    
+    open($gp->{$k},'>',$gpfile->{$k})||die;
+
+    my $pdf = $gpfile->{$k};
+    $pdf =~ s/plt$/pdf/;
+
+    print {$gp->{$k}} "set terminal pdfcairo
+set output \"$pdf\"
 set ylabel \"Lambda\"
-set y2label \"k^{2}\"
-set xrange[0:500]
-set yrange[0.1:100]
-set logscale y
 set xtics
 set ytics nomirror
+set pointsize 0.2
+";
+}
+
+print {$gp->{dewi}} "
+set xrange[0:500]
+set yrange[0.1:100]
+set xlabel \"Radius / Rsun\"
+set y2label \"k^{2}\"
 set y2tics nomirror
+set logscale y
 ";
-#foreach my $m (3..10)
-foreach my $m (3)
+print {$gp->{vds}} "
+set xrange[0.15:1.25]
+set yrange[0:5]
+set xlabel \"Core mass / Msun\"
+";
+
+# Dewi plots
+foreach my $m (3..10)
+#foreach my $m (4)
 {
-    print $gp "
+    print {$gp->{dewi}} "
 set title \"M=$m Msun\"
 ";
     my $plotcomma='plot ';
-    foreach my $lambda_both (0,1)
+    foreach my $lambda_both (0.0, 1.0)
     {
         my $lambda_ionisation = $lambda_both;
         my $lambda_enthalpy = $lambda_both;
-        my $f = "$outdir/$m.$lambda_both.dat";
+        my $f = "$outdir/dewi-$m.$lambda_both.dat";
+
         open($datafp, '>', $f)||die;
         print "LAM $lambda_both\n";
 
@@ -85,14 +113,61 @@ set title \"M=$m Msun\"
                 max_evolution_time => 15000,
              })
             );
+
         close $datafp;
-        print $gp "$plotcomma \"$f\" u 4:5 axes x1y1 w l notitle , \"$f\" u 4:6 axes x1y2 w l dashtype \".-\" notitle ";
+        print {$gp->{dewi}} "$plotcomma \"$f\" u 4:5 axes x1y1 w lp notitle , \"$f\" u 4:6 axes x1y2 w lp dashtype \".-\" notitle ";
         $plotcomma=',';
     }
+}
 
+# VDS plots : masses are from Fig.3
+foreach my $m (0.91, 1.01, 1.14, 1.30, 1.48, 1.63, 1.81, 2.00, 2.46, 2.79, 3.17, 3.70, 4.09, 4.65, 5.28, 6.00, 6.82)
+{
+     print {$gp->{vds}} "
+set title \"M=$m Msun\"
+";
+    my $plotcomma='plot ';
+    foreach my $lambda_both (0.0, 1.0)
+    {
+        my $lambda_ionisation = $lambda_both;
+        my $lambda_enthalpy = $lambda_both;
+        my $f = "$outdir/vds-$m.$lambda_both.dat";
+
+        open($datafp, '>', $f)||die;
+        print "LAM $lambda_both\n";
+
+        $population->set(
+            lambda_ionisation=>$lambda_ionisation,
+            lambda_enthalpy=>$lambda_enthalpy,
+            );
+
+        $population->tbse( 
+            $population->make_evcode_arghash
+            ({
+                probability=>1,
+                M_1 => $m,
+                M_2 => 0.1,
+                orbital_period => 1e9,
+                metallicity => 0.02,
+                eccentricity => 0.0,
+                max_evolution_time => 15000,
+             })
+            );
+
+        close $datafp;
+        print {$gp->{vds}} "$plotcomma \"$f\" u 7:5 axes x1y1 w lp notitle ";
+        $plotcomma=',';
+    }
 }
-close $gp;
-`gnuplot $gpfile`;
+
+
+foreach my $k (keys %$gpfile) 
+{
+    close $gp->{$k};
+    `gnuplot $gpfile->{$k}`;
+}
+
+
 
 exit;
 
@@ -133,22 +208,11 @@ sub defaults
         # The name of the binary_c executable
         'prog' => 'binary_c-CND7',
 
-        # VARIABLES TO BE CHANGED : maybe set on the command line!
         'binary' => 1, # single stars -> 0, binary stars -> 1
-        'CRAP_parameter' => 1e3, # 1e3 = Tout
-        'WRLOF_method' => 1,  # 1 = q-dep, 2=quadratic
+        'CRAP_parameter' => 0, # 1e3 = Tout
+        'WRLOF_method' => 0,  # 1 = q-dep, 2=quadratic
         'RLOF_method' => 3, # 3 = Claeys et al 2014
 
-        # age range for star formation in the thick disc
-        # Snaith et al 2015 suggest start=13Gyr, end=8Gyr
-        # and is ~ constant (and large!)
-        'thick_disc_start_age' => 10e3,
-        'thick_disc_end_age' => 4e3,
-
-        # logg range : set to -+100.0 for all stars
-        'thick_disc_logg_min'=>-100.0,
-        'thick_disc_logg_max'=>+100.0,
-        
         # we want array refs, not lines, from tbse_line
         return_array_refs => 1,
 
@@ -158,5 +222,7 @@ sub defaults
         lambda_enthalpy => 1.0,
         comenv_splitmass=>1.0,
 
+        AGB_method => 0
+
         );
 }