diff --git a/files.html b/files.html
index 934170a43b2c4a222e6f9968c2b649a09f27aa15..b677c47efed9746295d8d6c8756a13e115af1a42 100644
--- a/files.html
+++ b/files.html
@@ -19,6 +19,7 @@
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./js/files.js'>files.js</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./js/mods.js'>mods.js</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./js/modules.js'>modules.js</a><br>
+<i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node_modules</i><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./js/printserver.js'>printserver.js</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./js/programs.js'>programs.js</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./js/serialserver.js'>serialserver.js</a><br>
@@ -133,7 +134,7 @@
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./modules/math/parallel'>parallel</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./modules/math/scalar'>scalar</a><br>
 <i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mesh</i><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./modules/mesh/slice'>slice</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./modules/mesh/slice%20raster'>slice raster</a><br>
 <i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;module</i><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./modules/module/create'>create</a><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='./modules/module/delete'>delete</a><br>
diff --git a/modules/index.js b/modules/index.js
index dbbb7af7ef673b15e2887fdafab757d8f82287f1..0f6ffa939f28d45b04aceb7479f12846add1daf5 100644
--- a/modules/index.js
+++ b/modules/index.js
@@ -103,7 +103,7 @@ module_menu('   glsl_benchmark','modules/math/glsl_benchmark')
 module_menu('   parallel','modules/math/parallel')
 module_menu('   scalar','modules/math/scalar')
 module_label('mesh')
-module_menu('   slice','modules/mesh/slice')
+module_menu('   slice raster','modules/mesh/slice%20raster')
 module_label('module')
 module_menu('   create','modules/module/create')
 module_menu('   delete','modules/module/delete')
diff --git a/modules/mesh/slice b/modules/mesh/slice raster
similarity index 95%
rename from modules/mesh/slice
rename to modules/mesh/slice raster
index c1090511a11e13d8eb49a9797e757257acd6d00f..3c48845200e8068b67b53f5fdf7e19ca14526893 100644
--- a/modules/mesh/slice
+++ b/modules/mesh/slice raster	
@@ -1,5 +1,5 @@
 //
-// mesh slice
+// mesh slice raster
 //
 // Neil Gershenfeld
 // (c) Massachusetts Institute of Technology 2018
@@ -20,7 +20,7 @@ var mod = {}
 //
 // name
 //
-var name = 'mesh slice (under development)'
+var name = 'mesh slice raster'
 //
 // initialization
 //
@@ -405,16 +405,24 @@ function worker() {
       // function to draw line
       //
       function line(x0,y0,x1,y1) {
-         var ix0 = Math.floor(w*(x0-xmin)/(xmax-xmin))
-         var iy0 = Math.floor(h*(y0-ymin)/(ymax-ymin))
-         var ix1 = Math.floor(w*(x1-xmin)/(xmax-xmin))
-         var iy1 = Math.floor(h*(y1-ymin)/(ymax-ymin))
+         var ix0 = Math.round(w*(x0-xmin)/(xmax-xmin))
+         var iy0 = Math.round(h*(y0-ymin)/(ymax-ymin))
+         var ix1 = Math.round(w*(x1-xmin)/(xmax-xmin))
+         var iy1 = Math.round(h*(y1-ymin)/(ymax-ymin))
          var dx = ix1-ix0
          var dy = iy1-iy0
-         console.log(ix0,iy0)
-         buf[(h-1-iy0)*w*4+ix0*4+0] = 255
-         buf[(h-1-iy0)*w*4+ix0*4+1] = 255
-         buf[(h-1-iy0)*w*4+ix0*4+2] = 255
+         var ix = ix0
+         var iy = iy0
+         var x = x0
+         var y = y0
+         do {
+            buf[(h-1-iy)*w*4+ix*4+0] = 255
+            buf[(h-1-iy)*w*4+ix*4+1] = 255
+            buf[(h-1-iy)*w*4+ix*4+2] = 255
+            x += dx
+            y += dy
+            ix = Math.round(w*(x0-xmin)/(xmax-xmin))
+            } while (!((ix == ix0) && (iy == iy0)))
          }
       //
       // get vars from buffer