diff --git a/Node/forkpi.js b/Node/forkpi.js
index 182813268391a8f41f41a18b850d2b0e77b11e96..f3901a6f6f77ea70737b4519bd401aad4ffd70df 100644
--- a/Node/forkpi.js
+++ b/Node/forkpi.js
@@ -6,21 +6,23 @@
 //
 const points = 1e8
 const { fork } = require('child_process')
-var processes = 1
+var processes = parseInt(process.argv[2])
 var pi = 0
 var results = 0
 var tstart = Date.now()/1000
-const forked = fork('child.js','1')
-forked.on('message',(result) => {
+for (let i = 0; i < processes; ++i) {
+   id = fork('forkspi.js',[i,points])
+   id.on('message',(result) => {
    pi += result
    results += 1
-   if (results == processes) {
-      var tend = Date.now()/1000
-      var mflops = (processes*points)*5.0*1e-6/(tend-tstart)
-      console.log('pi: '+pi)
-      console.log('time: '+(tend-tstart).toFixed(1)+'s')
-      console.log('processes: '+processes)
-      console.log('estimated MFlops: '+mflops.toFixed(1))
-      process.exit()
-      }
-   })
+      if (results == processes) {
+         var tend = Date.now()/1000
+         var mflops = (processes*points)*5.0*1e-6/(tend-tstart)
+         console.log('pi: '+pi)
+         console.log('time: '+(tend-tstart).toFixed(1)+'s')
+         console.log('processes: '+processes)
+         console.log('estimated MFlops: '+mflops.toFixed(1))
+         process.exit()
+         }
+      })
+   }
diff --git a/Node/forkspi.js b/Node/forkspi.js
index 769a8cf85656690d664f5608eb8bd749f8a82af8..8582cd789789806ebb701542b720556d59bc8c50 100644
--- a/Node/forkspi.js
+++ b/Node/forkspi.js
@@ -1,75 +1,17 @@
 //
-// clusterpi.js
+// forkspi.js
 // Neil Gershenfeld 11/23/18
 // pi calculation benchmark
 // pi = 3.14159265358979323846
 //
-
-
-const points = 1e8
-
-const { fork } = require('child_process');
-
-const forked = fork('child.js');
-
-forked.on('message', (msg) => {
-  console.log('Message from child', msg);
-});
-
-forked.send({ hello: 'world' });
-
-process.on('message', (msg) => {
-  console.log('Message from parent:', msg);
-});
-
-let counter = 0;
-
-setInterval(() => {
-  process.send({ counter: counter++ });
-}, 1000);
-
-function master() {
-   var processes = require('os').cpus().length
-   var tstart = Date.now()/1000
-   for (var i = 0; i < processes; i++)
-      cluster.fork()
-   var index = 0
-   var pi = 0
-   var results = 0
-   for (const id in cluster.workers) {
-      var worker = cluster.workers[id]
-      worker.on('message',(result) => {
-         pi += result
-         results += 1
-         if (results == processes) {
-            var tend = Date.now()/1000
-            var mflops = (processes*points)*5.0*1e-6/(tend-tstart)
-            console.log('pi: '+pi)
-            console.log('time: '+(tend-tstart).toFixed(1)+'s')
-            console.log('processes: '+processes)
-            console.log('estimated MFlops: '+mflops.toFixed(1))
-            process.exit()
-            }
-         })
-      function send(index) {
-         return function() {
-            worker.send(index)
-            }
-         }
-      worker.on('online',send(index))
-      index += 1
-      }
-   }
-function child() { 
-   process.on('message',(index) => {
-      var a = 0.5
-      var b = 0.75
-      var c = 0.25
-      var sum = 0
-      var start = 1+points*index
-      var end = points*(index+1)
-      for (var i = start; i <= end; ++i)
-         sum += a/((i-b)*(i-c))
-      process.send(sum)
-      })
-   }
+var index = parseInt(process.argv[2])
+var points = parseInt(process.argv[3])
+var a = 0.5
+var b = 0.75
+var c = 0.25
+var sum = 0
+var start = 1+points*index
+var end = points*(index+1)
+for (var i = start; i <= end; ++i)
+   sum += a/((i-b)*(i-c))
+process.send(sum)