diff --git a/TODO b/TODO
index ec02eb1fc198e3ebd3bc4c45fe5c54d43821b3f1..806d478c80531d6b7bcb6f8c7b9b2d7a77c0cb60 100644
--- a/TODO
+++ b/TODO
@@ -2,7 +2,11 @@
 Change fixed-length strings, where possible, to C99 flexible array members
 https://en.wikipedia.org/wiki/Flexible_array_member
 
+------------------------------------------------------------
+
+gravitational waves
 
+https://ui.adsabs.harvard.edu/abs/2019MNRAS.488...99G/abstract
 ------------------------------------------------------------
 
 Magnetic braking for remannts (NS,WD)
diff --git a/meson.build b/meson.build
index d5c539cd0df7fb11a4e885735fbe67456db31df2..7ed4093ac3010a87e18e3f80b9d8f5b7188a179f 100644
--- a/meson.build
+++ b/meson.build
@@ -612,6 +612,7 @@ if run_command('sh','-c','meson/check_binary_grid2.sh').returncode() == 0
         'meson/check_binary_grid2.sh'
     ).stdout().strip()
 
+    message('legacy touch')
     binary_c_legacy_install_cmd += [
         '&&',
         'touch',
diff --git a/src/perl/scripts2/template.pl b/src/perl/scripts2/template.pl
index e457dc4df3b01e4ec024fc2caf230f12cf9d901e..660a74a02f4f27b282807e9960ff03d0e95cd80e 100755
--- a/src/perl/scripts2/template.pl
+++ b/src/perl/scripts2/template.pl
@@ -67,7 +67,7 @@ my $nthreads = rob_misc::ncpus();
 my $population = binary_grid2->new(
     # options can be given now ... 
     metallicity => 0.02, # mass fraction of "metals"
-    max_evolution_time => 15000, # Myr 
+    max_evolution_time => 0.01,#15000, # Myr 
     nthreads=>$nthreads, # number of threads
     );
 
@@ -105,9 +105,6 @@ $population->set(
     #                       '
 
 
-    flexigrid => { 
-        'grid type' => 'monte carlo'
-    } 
     );
 
 ############################################################
@@ -128,7 +125,7 @@ if($duplicity == 0)
 {
     # make a grid of $nstars single binary stars, log-spaced,
     # with masses between $mmin and $mmax
-    my $nstars = 100;
+    my $nstars = 10000;
     my $mmin = 0.1;
     my $mmax = 80.0;
     $population->add_grid_variable(
@@ -139,8 +136,8 @@ if($duplicity == 0)
         'spacingfunc'=>"const(log($mmin),log($mmax),$nstars)",
         'precode'    =>'$m1=exp($lnm1);',
         'probdist'   =>'Kroupa2001($m1)*$m1',
-        'dphasevol'  =>'$dlnm1',
-        'gridtype'   =>'monte carlo',
+        'method'     => ("@ARGV"=~/mc/ ? 'monte carlo' : 'grid'),
+        'monte carlo lookup resolution' => 1000, 
         );
 }
 elsif($duplicity == 1)
@@ -164,7 +161,6 @@ elsif($duplicity == 1)
         'spacingfunc'=>"const(log($mmin),log($mmax),$resolution->{m1})",
         'precode'    =>'$m1=exp($lnm1);',
         'probdist'   =>'Kroupa2001($m1)*$m1',
-        'dphasevol'  =>'$dlnm1',
         );
     # q=M1/M2 distribution flat in q between 0.1/M1 and 1.0
     $population->add_grid_variable
@@ -180,7 +176,6 @@ elsif($duplicity == 1)
 \{min=>0.8,max=>1.0,height=>1.0\},
 \]\)",
         precode     =>'$m2=$q*$m1;',
-        dphasevol   =>'$dq',
         );
      # orbital period Duquennoy and Mayor 1991 distribution
     my $Prange = [-2.0,12.0];
@@ -196,7 +191,6 @@ my \$eccentricity = 0.0;
 \$sep=calc_sep_from_period(\$m1,\$m2,\$per) if(defined \$m1 && defined \$m2);
 ",
           'probdist'=>"gaussian(\$logper,4.8,2.3,$Prange->[0],$Prange->[1])",
-          'dphasevol'=>'$dln10per'
          );
 }
 else