diff --git a/bootstrap.js b/bootstrap.js
index b9ed1130d8cf2d2270d002d2891caf1710dfa5b6..98c85332b487faf68a8b5c530a02afbcab05d8be 100644
--- a/bootstrap.js
+++ b/bootstrap.js
@@ -1,3 +1,17 @@
+/*
+bootstrap.js
+
+client-side bootup of dataflow environment, and views into 
+
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+
 // IDDE sends msgs to manager, does display etc
 // starts with a native manager
 
diff --git a/cf.js b/cf.js
index e8281eb5e343ab87edea0db4b246bc6006ee3d64..992e386f70dcfdb89a2b958d947be475e41d9588 100644
--- a/cf.js
+++ b/cf.js
@@ -1,3 +1,19 @@
+/*
+cf.js
+
+entry point to start cuttlefish server
+serves files as if a static server, handles requests
+to write new contexts and systems to server-side memory 
+
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+
 // new year new bootstrap
 
 const express = require('express')
diff --git a/filesys.js b/filesys.js
index dd0f42f2d88350c0c591faa6068f50f6f50a784b..1ae15d7760b774f31a9e54d57b99e24771ac3a7b 100644
--- a/filesys.js
+++ b/filesys.js
@@ -1,4 +1,16 @@
-// do file management
+/*
+filesys.js
+
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+
+// server-side file management, just a brief wrap on node fs 
 
 const fs = require('fs')
 
diff --git a/gogetter.js b/gogetter.js
index ed9427b86cb1b390b753a856647c86c49bd0892e..48b0454208dcb10af26959de50bfec0ac15ff8bc 100644
--- a/gogetter.js
+++ b/gogetter.js
@@ -1,3 +1,15 @@
+/*
+gogetter.js
+
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+
 // fs abstraction for sys
 
 function GoGetter() {
diff --git a/helpers.js b/helpers.js
index ce5128a8bf42e4f2bac4ed1d1d730d9d00cb32eb..e6783f66662708ea1d30cd56c02a00e197d783d3 100644
--- a/helpers.js
+++ b/helpers.js
@@ -1,3 +1,17 @@
+/*
+helpers.js
+
+utility for paths
+
+Jake Read at the Center for Bits and Atoms with Leo McElroy, Neil Gershenfeld
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+
 const pipe = (first, ...more) => more.reduce((acc,curr) => (...arguments) => curr(acc(...arguments)) , first);
 
 const offsetHelper = (distances, offset, width, height) => {
@@ -807,4 +821,3 @@ const vectorizeHelper = (imageRGBA, vectorFit = 1, sort = true) => {
 };
 
 const test = () => console.log("import is working");
-
diff --git a/hunks/pipes/devicepipe.js b/hunks/comm/devicepipe.js
similarity index 92%
rename from hunks/pipes/devicepipe.js
rename to hunks/comm/devicepipe.js
index 5ea4e65f92c6b48b19ec1cfcd81883e626592e28..85af29bbed1fd7388a89eece7ac99e6864f9836d 100644
--- a/hunks/pipes/devicepipe.js
+++ b/hunks/comm/devicepipe.js
@@ -1,10 +1,16 @@
 /*
+comm/devicepipe.js
 
-pipe transport for an fs.write, appropriate for linux-2-machines
+pipe transport for an fs.write, appropriate for linux-2-machines, clientside
 
-*/
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
 
-//
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
 
 import {
   Hunkify,
diff --git a/hunks/pipes/vfptc.js b/hunks/comm/serialport.js
similarity index 91%
rename from hunks/pipes/vfptc.js
rename to hunks/comm/serialport.js
index 5712241b558df5765f0ed778ad0e76d05cb7eaf5..1c92a56a9cd41b9411b3a7ba1c651f3c88053c11 100644
--- a/hunks/pipes/vfptc.js
+++ b/hunks/comm/serialport.js
@@ -1,7 +1,15 @@
 /*
+comm/devicepipe.js
 
-very fast ~~picket ship~~ pipe transport (client)
+transport to ah serialport on the server side
 
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
 */
 
 // OK: this is nice and should serve for a demo,
diff --git a/hunks/pipes/websocketclient.js b/hunks/comm/websocketclient.js
similarity index 90%
rename from hunks/pipes/websocketclient.js
rename to hunks/comm/websocketclient.js
index 2e7788d33fe23fe8db82650e1acd3e4fb35023c5..a39f1c914e677a7df90a44602dab0c31e692c7df 100644
--- a/hunks/pipes/websocketclient.js
+++ b/hunks/comm/websocketclient.js
@@ -1,7 +1,15 @@
 /*
+comm/websocketclient.js
 
-line input
+pipe to remote websocket server
 
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
 */
 
 import {
diff --git a/hunks/hunks.js b/hunks/hunks.js
index d03de2e3d5020d1fb930ffb37d4c790c9845bedf..5db28cd43c11649ac9dcc9a6f21b258e0494ec73 100644
--- a/hunks/hunks.js
+++ b/hunks/hunks.js
@@ -1,3 +1,17 @@
+/*
+hunks/hunks.js
+
+boilerplate js for hunks,
+
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+
 /* ---------------------------    ---------------------------- */
 /* ------------------------ HUNKITUP ------------------------- */
 /* ---------------------------    ---------------------------- */
diff --git a/hunks/image/displayimagedata.js b/hunks/image/displayimagedata.js
index deb9e3171e0a55d66ba22e5aab52df336c555260..e326c7342dd4e1d8289a2e63551a968ce2263647 100644
--- a/hunks/image/displayimagedata.js
+++ b/hunks/image/displayimagedata.js
@@ -1,3 +1,17 @@
+/*
+hunks/image/displayImageData.js
+
+render imageData into a canvas in the DOM
+
+Jake Read at the Center for Bits and Atoms with Neil Gershenfeld and Leo McElroy
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+
 import { Hunkify, Input, Output, State } from "../hunks.js";
 
 import { html, svg, render } from "https://unpkg.com/lit-html?module";
diff --git a/hunks/image/distanceTransform.js b/hunks/image/distanceTransform.js
index 317d6a1c445000108654dff9692d376578c8cc28..3667a502f0639c9b7fe72bf52ef1f27639a5a072 100644
--- a/hunks/image/distanceTransform.js
+++ b/hunks/image/distanceTransform.js
@@ -1,4 +1,17 @@
 /*
+hunks/image/distanceTransform.js
+
+find distance to nearest pixel 
+
+Jake Read at the Center for Bits and Atoms with Neil Gershenfeld and Leo McElroy
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+/*
 
 hunk template
 
diff --git a/hunks/image/edgeDetect.js b/hunks/image/edgeDetect.js
index 4fdc38d70d9985479ac80de29b85d702da3492e7..e235f748fcf3631165cac19e200886b801467d23 100644
--- a/hunks/image/edgeDetect.js
+++ b/hunks/image/edgeDetect.js
@@ -1,4 +1,17 @@
 /*
+hunks/image/edgeDetect.js
+
+find edges 
+
+Jake Read at the Center for Bits and Atoms with Neil Gershenfeld and Leo McElroy
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+/*
 
 hunk template
 
diff --git a/hunks/image/multipleOffsets.js b/hunks/image/multipleOffsets.js
index ff235bb912f2fa31ca8cd9784d50ab4a076b61ad..9d5540f15341dd0aad1030e66eef6ead1d489bdc 100644
--- a/hunks/image/multipleOffsets.js
+++ b/hunks/image/multipleOffsets.js
@@ -1,4 +1,17 @@
 /*
+hunks/image/multipleOffsets.js
+
+write multiple offsets from distance field 
+
+Jake Read at the Center for Bits and Atoms with Neil Gershenfeld and Leo McElroy
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+/*
 
 hunk template
 
@@ -58,7 +71,7 @@ export default function MultipleOffsets() {
     if (imageIn.io() && !vectors.io()) {
       function work() {
         //imports pipe, edgeDetectHelper, orientEdgesHelper, vectorizeHelper; could be a good idea to break these into different files
-        self.importScripts("http://localhost:8080/helpers.js"); 
+        self.importScripts("http://localhost:8080/helpers.js");
 
         self.onmessage = function(e) {
 
diff --git a/hunks/image/offset.js b/hunks/image/offset.js
index 2c0d8dc6edde748d3786540b38bf2ae1a061ff49..bdd7412561d31310ae9836406a072f6b485fab78 100644
--- a/hunks/image/offset.js
+++ b/hunks/image/offset.js
@@ -1,4 +1,17 @@
 /*
+hunks/image/offset.js
+
+walk along distance field 
+
+Jake Read at the Center for Bits and Atoms with Neil Gershenfeld and Leo McElroy
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+/*
 
 hunk template
 
diff --git a/hunks/image/orientEdges.js b/hunks/image/orientEdges.js
index 535a98524e304615a27f0b2dfd88d2c092a7e07d..9d05570108ca1376668c3fd80e5fce8deddd2ad7 100644
--- a/hunks/image/orientEdges.js
+++ b/hunks/image/orientEdges.js
@@ -1,4 +1,17 @@
 /*
+hunks/image/orientEdges.js
+
+edges -> nsew 
+
+Jake Read at the Center for Bits and Atoms with Neil Gershenfeld and Leo McElroy
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+/*
 
 hunk template
 
diff --git a/hunks/image/readpng.js b/hunks/image/readpng.js
index c71825d134d6f332d566c0b1eebafdb146623891..590f0e9e011fe18bc2c5480be40e7d38f22dc209 100644
--- a/hunks/image/readpng.js
+++ b/hunks/image/readpng.js
@@ -1,3 +1,16 @@
+/*
+hunks/image/readpng.js
+
+gather PNG image from the aether 
+
+Jake Read at the Center for Bits and Atoms with Neil Gershenfeld and Leo McElroy
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
 /* hunk template */
 
 // these are ES6 modules
diff --git a/hunks/image/renderVectors.js b/hunks/image/renderVectors.js
index dba71f261ec25cc65b247e556f3a4da454478ae0..9ba1f5d93fb2e93ff1f638b0c712ddd0ea911ab9 100644
--- a/hunks/image/renderVectors.js
+++ b/hunks/image/renderVectors.js
@@ -1,4 +1,17 @@
 /*
+hunks/image/renderVectors.js
+
+display vectors 
+
+Jake Read at the Center for Bits and Atoms with Neil Gershenfeld and Leo McElroy
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+/*
 
 hunk template
 
diff --git a/hunks/image/thresholdrgba.js b/hunks/image/thresholdrgba.js
index 93fdb4a5ed138dd16cb669bcd0104bf782f260c4..a20923aca3fe4fa8dfa155fad0b30d47096cba6e 100644
--- a/hunks/image/thresholdrgba.js
+++ b/hunks/image/thresholdrgba.js
@@ -1,4 +1,17 @@
 /*
+hunks/image/thresholdRGBA.js
+
+threshold an image
+
+Jake Read at the Center for Bits and Atoms with Neil Gershenfeld and Leo McElroy
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+/*
 
 hunk template
 
diff --git a/hunks/image/vectorize.js b/hunks/image/vectorize.js
index 0c2c125f65b04ac412c203bc1e6040fe38309fdf..f92e51013210e61028671d6e93c19788e19e58d5 100644
--- a/hunks/image/vectorize.js
+++ b/hunks/image/vectorize.js
@@ -1,7 +1,15 @@
 /*
+hunks/image/vectorize.js
 
-hunk template
+write vectors from distance field 
 
+Jake Read at the Center for Bits and Atoms with Neil Gershenfeld and Leo McElroy
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
 */
 
 // these are ES6 modules
diff --git a/hunks/interface/array.js b/hunks/interface/array.js
index 20557d33795cf2fcdc0fe61f1dafc3d8e7a33c79..4612d10657685f19469da44b35f3ae5d6936c5c7 100644
--- a/hunks/interface/array.js
+++ b/hunks/interface/array.js
@@ -1,7 +1,13 @@
 /*
+hunks/interface/array.js
 
-number input
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
 
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
 */
 
 import {
diff --git a/hunks/interface/arrowpad.js b/hunks/interface/arrowpad.js
index 7b9b2da43b32fd01e7b1acbb34cc5aef521a9ce9..8b3c083e9c87ec59152f6916211acf9b7303c1d9 100644
--- a/hunks/interface/arrowpad.js
+++ b/hunks/interface/arrowpad.js
@@ -1,7 +1,15 @@
 /*
+hunks/interface/arrowpad.js
 
-arrowpad pressure, for maching jogging (probably)
+arrowpad pressure
 
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
 */
 
 import {
diff --git a/hunks/interface/button.js b/hunks/interface/button.js
index 5dd7174c53d7d2783796888a507d848461c75e6d..ecbd767eb5ef7efa7af67e6c6c3ebe460701e65b 100644
--- a/hunks/interface/button.js
+++ b/hunks/interface/button.js
@@ -1,7 +1,13 @@
 /*
+hunks/interface/button.js
 
-contact
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
 
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
 */
 
 import { Hunkify, Input, Output, State } from '../hunks.js'
diff --git a/hunks/interface/int32.js b/hunks/interface/int32.js
index bd35be9df30415acc32604f62780fe2bad86c633..eb1f153e0e0ce0cedc7b997392042cd92a84fbcb 100644
--- a/hunks/interface/int32.js
+++ b/hunks/interface/int32.js
@@ -1,7 +1,15 @@
 /*
+hunks/interface/int32.js
 
-number input
+used in early debugging for shipping types to embedded contexts 
 
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
 */
 
 import {
diff --git a/hunks/interface/number.js b/hunks/interface/number.js
index 8dd5aca87c86d7e9aa6376a3b0ca3a8bc56bc9bd..0ff5488a014c61d62bf31a6f0e15e3d557ec19e6 100644
--- a/hunks/interface/number.js
+++ b/hunks/interface/number.js
@@ -1,7 +1,13 @@
 /*
+hunks/interface/number.js
 
-number input
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
 
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
 */
 
 import {
diff --git a/hunks/interface/string.js b/hunks/interface/string.js
index a1a04a6ab8515846e1107073b3a4d8170983a261..2548b0103cba468cdf99ca2631cdba15c9e5d374 100644
--- a/hunks/interface/string.js
+++ b/hunks/interface/string.js
@@ -1,7 +1,15 @@
 /*
+hunks/interface/string.js
 
-line input
+user line input
 
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
 */
 
 import { Hunkify, Input, Output, State } from '../hunks.js'
diff --git a/hunks/interface/threejs_ghost.js b/hunks/interface/threejs_ghost.js
index ee4ebdc3f05862f9cd04e107b87ee90cc3df51a6..d4cfa3bed871bacafc34930271a3470a1f4dbbb3 100644
--- a/hunks/interface/threejs_ghost.js
+++ b/hunks/interface/threejs_ghost.js
@@ -1,7 +1,16 @@
 /*
+hunks/interface/threejs_ghost.js
 
 takes array for point, draws history of segements in tail
+a-la snake, but you can never win or loose
 
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
 */
 
 import {
diff --git a/hunks/interface/toggle.js b/hunks/interface/toggle.js
index a9bc6a98f326e2c769f14e8a8d8ecbdd791eacc5..d276be129c9cdcbdbb46f3c0118c9765d021937d 100644
--- a/hunks/interface/toggle.js
+++ b/hunks/interface/toggle.js
@@ -1,7 +1,15 @@
 /*
+hunks/interface/toggle.js
 
 tow-gel
 
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
 */
 
 import { Hunkify, Input, Output, State } from '../hunks.js'
@@ -39,6 +47,6 @@ export default function Toggle() {
     }
 
     this.loop = () => {
-        // ... nah 
+        // ... nah
     }
 }
diff --git a/hunks/link.js b/hunks/link.js
index 9b6dac1f31533815796fe08cfb93e3bd95054cd0..c63057a379109350795be0a250c9171cda6286bd 100644
--- a/hunks/link.js
+++ b/hunks/link.js
@@ -1,9 +1,18 @@
 /*
+hunks/link.js
 
-hookup,
+encapsulate external dataflow environments in local abstraction
 
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
 */
 
+
 // HEADER
 import {
   Hunkify,
diff --git a/hunks/manager.js b/hunks/manager.js
index fcbdb264f6b1ac592ddc9cb049eba35b169dd63a..6b40e3643aa08602916185cdf96ab072d483b4d7 100644
--- a/hunks/manager.js
+++ b/hunks/manager.js
@@ -1,4 +1,16 @@
-// heart of the fish ...
+/*
+hunks/manager.js
+
+heart of the fish...
+
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
 
 import {
   Hunkify,
diff --git a/hunks/math/absolutevalue.js b/hunks/math/absolutevalue.js
new file mode 100644
index 0000000000000000000000000000000000000000..823181a7f4c0cf6c371c9b9a9300e000b682f97a
--- /dev/null
+++ b/hunks/math/absolutevalue.js
@@ -0,0 +1,34 @@
+/*
+hunks/math/absolutevalue.js
+
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+
+
+import {
+  Hunkify,
+  Input,
+  Output,
+  State
+} from '../hunks.js'
+
+function AbsoluteValueOf(){
+  Hunkify(this)
+
+  let inp = this.input('number', 'og')
+  let out = this.output('number', 'abs')
+
+  this.loop = () => {
+    if(inp.io() && !(out.io())){
+      out.put(Math.abs(inp.get()))
+    }
+  }
+}
+
+export default AbsoluteValueOf
diff --git a/hunks/math/booleaninversion.js b/hunks/math/booleaninversion.js
index ba6cf1e7caf7f033df208881dabe29b59fc06048..17a760dad640e70279635c7d156fa8fc8773f322 100644
--- a/hunks/math/booleaninversion.js
+++ b/hunks/math/booleaninversion.js
@@ -1,9 +1,18 @@
 /*
+hunks/math/booleaninversion.js
 
-bit flippen
+bit flipper 
 
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
 */
 
+
 import {
   Hunkify,
   Input,
diff --git a/hunks/primitive/counter.js b/hunks/math/counter.js
similarity index 71%
rename from hunks/primitive/counter.js
rename to hunks/math/counter.js
index 53d20d7c28614f1dccd414e5acce37fea4aeeeac..abfe39fabdba3500e9a65a5cb2c2794fe2a7d7f8 100644
--- a/hunks/primitive/counter.js
+++ b/hunks/math/counter.js
@@ -1,9 +1,18 @@
 /*
+hunks/math/counter.js
 
-on event, += 1 or -= 1
+on input, internal value += 1 or -= 1
 
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
 */
 
+
 import {
   Hunkify,
   Input,
diff --git a/hunks/math/discreteconverter.js b/hunks/math/discreteconversion.js
similarity index 64%
rename from hunks/math/discreteconverter.js
rename to hunks/math/discreteconversion.js
index d4c669e24f01ec824ea4befbda6449b3712276c8..a9d94d51cc19a8d49bd6e7a2951cac8474b432ea 100644
--- a/hunks/math/discreteconverter.js
+++ b/hunks/math/discreteconversion.js
@@ -1,7 +1,15 @@
 /*
+hunks/math/discreteconversion.js
 
 convert to floats, respect discretion
 
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
 */
 
 import {
diff --git a/hunks/primitive/increment.js b/hunks/math/increment.js
similarity index 60%
rename from hunks/primitive/increment.js
rename to hunks/math/increment.js
index 06accd09f4715321581407761da6279d34531296..bb2eb1a772d7622e08842e3c613f9d87769bd6fa 100644
--- a/hunks/primitive/increment.js
+++ b/hunks/math/increment.js
@@ -1,7 +1,15 @@
 /*
+hunks/math/increment.js
 
-stores num, increments by input, outputs num
+increments some value by input values,
 
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
 */
 
 import {
diff --git a/hunks/math/plusequals.js b/hunks/math/plusequals.js
deleted file mode 100644
index 7a092d7e27fd9c092eeaba53acfcae2c5b538c4f..0000000000000000000000000000000000000000
--- a/hunks/math/plusequals.js
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-
-output += input
-
-*/
-
-import {
-  Hunkify,
-  Input,
-  Output,
-  State
-} from '../hunks.js'
-
-export default function PlusEquals() {
-  Hunkify(this)
-
-  let internalValue = 0
-  let hasUpdate = false
-
-  let resetLine = new Input('boolean', 'reset', this)
-  let input = new Input('number', 'plus', this)
-  this.inputs.push(resetLine, input)
-
-  let output = new Output('number', 'equals', this)
-  this.outputs.push(output)
-
-  let reset = new State('boolean', 'reset', false)
-  reset.onChange = (value) => {
-    internalValue = 0
-  }
-  this.states.push(reset)
-
-  this.init = () => {
-    //
-  }
-
-  this.loop = () => {
-    if(resetLine.io()){
-      resetLine.get()
-      internalValue = 0
-    }
-    if(input.io()){
-      internalValue += input.get()
-      hasUpdate = true
-    }
-    if(!output.io() && hasUpdate){
-      output.put(internalValue)
-      hasUpdate = false
-    }
-  }
-}
diff --git a/hunks/math/positivevalueof.js b/hunks/math/positivevalueof.js
deleted file mode 100644
index 560f335f655dfc01a45aaf27d3d723e1b43c0a94..0000000000000000000000000000000000000000
--- a/hunks/math/positivevalueof.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-
-the graph, it's shaped like a V
-
-*/
-
-import {
-  Hunkify,
-  Input,
-  Output,
-  State
-} from '../hunks.js'
-
-function PositiveValueOf(){
-  Hunkify(this)
-
-  let inp = new Input('number', 'og', this)
-  this.inputs.push(inp)
-
-  let out = new Output('number', 'abs', this)
-  this.outputs.push(out)
-
-  this.loop = () => {
-    if(inp.io() && !(out.io())){
-      let val = inp.get()
-      if(val > 0){
-        out.put(val)
-      } else {
-        out.put(val * -1)
-      }
-    }
-  }
-}
-
-export default PositiveValueOf
diff --git a/hunks/opencv/clipbycolor.js b/hunks/opencv/clipbycolor.js
index 98e7192426b82762d8d643a9e034c1df92f9af9a..a6f9f1fbae09517c0a44dce998721720461f8368 100644
--- a/hunks/opencv/clipbycolor.js
+++ b/hunks/opencv/clipbycolor.js
@@ -1,3 +1,15 @@
+/*
+hunks/opencv/clipbycolor.js
+
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+
 import {
   Hunkify,
   Input,
diff --git a/hunks/opencv/contourcenters.js b/hunks/opencv/contourcenters.js
index 02f5459c97139a908a93f2398a8a791459be429a..4d157f0028702e3f2f72a43b832356c28712efa7 100644
--- a/hunks/opencv/contourcenters.js
+++ b/hunks/opencv/contourcenters.js
@@ -1,3 +1,15 @@
+/*
+hunks/opencv/contourcenters.js
+
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+
 import {
   Hunkify,
   Input,
diff --git a/hunks/opencv/ocvwebcam.js b/hunks/opencv/ocvwebcam.js
index 2fa1dd24ac75648284524b8c496f3df61725dcd2..665d92e39f55df28b513df7fdac186eaaa24df0d 100644
--- a/hunks/opencv/ocvwebcam.js
+++ b/hunks/opencv/ocvwebcam.js
@@ -1,7 +1,13 @@
 /*
+hunks/opencv/ocvwebcam.js
 
-hunk template
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
 
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
 */
 
 // these are ES6 modules
diff --git a/hunks/pipes/pipetemplate.js b/hunks/pipes/pipetemplate.js
deleted file mode 100644
index c2bad80274bb68899ed6ea937d55c94296b20690..0000000000000000000000000000000000000000
--- a/hunks/pipes/pipetemplate.js
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
-
-pipes are websocket-having devices that commune with our server,
-this is a scratch / example of one such object
-
-*/
-
-import {
-  Hunkify,
-  Input,
-  Output,
-  State
-} from '../hunks.js'
-
-const STATUS_OPENING = 'opening...'
-const STATUS_OPEN = 'open'
-const STATUS_CLOSED = 'closed'
-const STATUS_ERROR = 'error'
-
-export default function Pipe() {
-  Hunkify(this)
-  let debug = false
-
-  let statusMessage = new State('string', 'status', STATUS_CLOSED)
-  let retryButton = new State('boolean', 'retry', false)
-  let echoButton = new State('boolean', 'echo', false)
-  this.states.push(statusMessage, retryButton, echoButton)
-  retryButton.onChange = (value) => {
-    startWsConnection()
-  }
-  echoButton.onChange = (value) => {
-    send(JSON.stringify({type: 'echo'}))
-  }
-
-  // coming merge of init and onload, however:
-  this.init = () => {
-    // force closed at startup; else program state can make us confused,
-    statusMessage.set(STATUS_CLOSED)
-    startWsConnection()
-  }
-
-  let ws = {}
-
-  let startWsConnection = () => {
-    // only attempt reconnect if we're not already opening, or opened
-    if (statusMessage.value === STATUS_OPEN || statusMessage.value === STATUS_OPENING) return
-    // ask the server to instantiate the reciprocal process,
-    statusMessage.set(STATUS_OPENING)
-    jQuery.get('pipeHookup/pipetemplate.js', (data) => {
-      if (data.startup) {
-        console.log('serverside launched, starting client')
-        console.log(data)
-        // have data.ip and data.port
-        ws = new WebSocket(`ws://${data.ip}:${data.port}`)
-        ws.onopen = (evt) => {
-          if (debug) console.log(this.name, 'opens')
-          statusMessage.set(STATUS_OPEN)
-        }
-        ws.onerror = (err) => {
-          if (debug) console.log(this.name, 'error', err)
-          statusMessage.set(STATUS_ERROR)
-        }
-        ws.onclose = (evt) => {
-          if (debug) console.log(this.name, 'closes')
-          statusMessage.set(STATUS_CLOSED)
-        }
-        ws.onmessage = (msg) => {
-          if (debug) console.log(this.name, 'recvs', msg)
-          recv(msg)
-        }
-      } else {
-        console.log('pipe received non-startup response from server')
-        statusMessage.set(STATUS_ERROR)
-      }
-    })
-  }
-
-  // write ur handler,
-  let recv = (msg) => {
-    let data = JSON.parse(msg.data)
-    console.log('pipe template recvs in placeholder', data)
-  }
-
-  // send wrapper
-  let send = (msg) => {
-    if (ws && ws.readyState === 1) {
-      ws.send(msg)
-      return true
-    } else {
-      console.error('attempt to send on a closed ws')
-      return false
-    }
-  }
-
-  this.loop = () => {
-    // handle your io
-  }
-
-  // rm this
-  this.onDelete = () => {
-    if(ws) ws.close()
-  }
-}
diff --git a/hunks/statemachines/dex.js b/hunks/statemachines/dex.js
index 22105aa4d518436396cb85146547964997fc5c61..bb1913dc2db267ff6c4648b15123724ccbab02b6 100644
--- a/hunks/statemachines/dex.js
+++ b/hunks/statemachines/dex.js
@@ -1,4 +1,5 @@
 /*
+hunks/statemachines/dex
 
 purpose built statemachine for the https://gitlab.cba.mit.edu/jakeread/displacementexercise
 aka DEX
@@ -6,11 +7,18 @@ aka king gripper
 aka the big beefy boi
 etc
 
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
 */
 
 /*
 
-loadcell readings:
+loadcell readings (for calibration)
 0g: 25
 100g: 14854
 200g: 29649
diff --git a/hunks/statemachines/srm20.js b/hunks/statemachines/srm20.js
deleted file mode 100644
index 34de2e93bd438efcc17bcad1d53bacf64eab9ee5..0000000000000000000000000000000000000000
--- a/hunks/statemachines/srm20.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
-
-SRM20 interface, over a device server
-
-*/
-
-// OK:
-// take some path input, write it as a file, send to modela...
-// also, will have to take those paths [seg][i][x-y-z]
diff --git a/hunks/template.js b/hunks/template.js
index f814219ee43ad9c8388a4adf7a7abb3aa70a652e..67c61652e9a991a9b5b7ee55641e5dea8b3ca783 100644
--- a/hunks/template.js
+++ b/hunks/template.js
@@ -1,9 +1,18 @@
 /*
+hunks/template.js
 
-hunk template
+example of ahn hunk
 
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
 */
 
+
 // these are ES6 modules
 import {
   Hunkify,
diff --git a/hunks/view.js b/hunks/view.js
index 78bd4fb49b762c016e9956f1cfb45a5310b22d04..b5dff0e0619bdfbe891078588f5046a0618185d9 100644
--- a/hunks/view.js
+++ b/hunks/view.js
@@ -1,15 +1,15 @@
 /*
+hunks/view.js
 
-VIEW
+scope!
 
- - scrape to manager,
- - manager gogetter ... and then, hello click
- - and then, nicely:
- - also - link for flowcontrol when downstream non-conn ? the init-over-link question? a few states ...
- - div structure ... ? open something up just barely, to test node and scraper
- - beer 2 celly
- - div structure: the div(div) scaling unfuckery
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
 
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
 */
 
 import {
diff --git a/index.html b/index.html
index a35e702618eacbf43b7c4fe89f8cfa2771bc42c1..d43b28688262e8c62f078abfcff9149312b892fa 100644
--- a/index.html
+++ b/index.html
@@ -12,8 +12,8 @@
 <body>
     <link href="style.css" rel="stylesheet">
     <link href="asset/emoji.css" rel="stylesheet">
-    <script src="view/jquery.min.js"></script>
-    <script src="view/d3.js"></script>
+    <script src="libs/jquery.min.js"></script>
+    <script src="libs/d3.js"></script>
     <script src="libs/math.js" type="text/javascript"></script>
     <script type="module" src="bootstrap.js"></script>
 
diff --git a/view/d3.js b/libs/d3.js
similarity index 100%
rename from view/d3.js
rename to libs/d3.js
diff --git a/view/jquery.min.js b/libs/jquery.min.js
similarity index 100%
rename from view/jquery.min.js
rename to libs/jquery.min.js
diff --git a/processes/devicepipe.js b/processes/devicepipe.js
index 72991c1f9ca61b58eaab8427806503fce535167d..bbb23e51a1b76fa11b93f0a3c7983f2d9176efab 100644
--- a/processes/devicepipe.js
+++ b/processes/devicepipe.js
@@ -1,7 +1,15 @@
 /*
+processes/devicepipe.js
 
-browser -> filesys
+establishes link to server-side devices, unix style 
 
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
 */
 
 const WebSocketServer = require('ws').Server
diff --git a/processes/vfpts.js b/processes/vfpts.js
index 51f84d9aed74a7983c4532bee4a4d40298ffe36b..d2a8b0c07c3c53119bbff6285358d84141ca63b9 100644
--- a/processes/vfpts.js
+++ b/processes/vfpts.js
@@ -1,7 +1,15 @@
 /*
+processes/vfpts.js
 
 very fast ~~picket ship~~ pipe transport (server)
 
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
 */
 
 const WebSocketServer = require('ws').Server
diff --git a/scratch.js b/scratch.js
deleted file mode 100644
index 693d7aed9a5890d019b60d9fc3c808812f17329b..0000000000000000000000000000000000000000
--- a/scratch.js
+++ /dev/null
@@ -1,23 +0,0 @@
-let uint8 = new Uint8Array(24)
-console.log(uint8)
-
-// let msg = {}
-//
-// if(msg.isAck){
-//   console.log('eval tru')
-// } else {
-//   console.log('eval false')
-// }
-//
-// let msgs = new Array()
-// if(msgs[1]){
-//   console.log('array evals tru')
-// } else {
-//   console.log('array evals false')
-// }
-//
-// let str = "a string"
-// console.log(str)
-// let strang = str
-// strang = "another string"
-// console.log(str)
diff --git a/hunks/statemachines/simplestep.js b/scratch/depricated/simplestep.js
similarity index 98%
rename from hunks/statemachines/simplestep.js
rename to scratch/depricated/simplestep.js
index 6407b2c224d7ae7231f588ab34d09dd962fe946f..46e6c1a5a3e22b75291a0b6d14efdcc90afea5bb 100644
--- a/hunks/statemachines/simplestep.js
+++ b/scratch/depricated/simplestep.js
@@ -1,9 +1,3 @@
-/*
-
-hunk template
-
-*/
-
 // these are ES6 modules
 import {
   Hunkify,
diff --git a/hunks/incomplete/opencsv.js b/scratch/incomplete/opencsv.js
similarity index 100%
rename from hunks/incomplete/opencsv.js
rename to scratch/incomplete/opencsv.js
diff --git a/view/divtools.js b/view/divtools.js
index 002b45d7b21a50230bfeb64a102447d36dac802c..d27d2b818d7bdbc152413c88ce18ab68722532e2 100644
--- a/view/divtools.js
+++ b/view/divtools.js
@@ -1,12 +1,24 @@
+/*
+view/divtools.js
+
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+
 import * as BZ from './vbzt.js'
 
-// I forsee genuine instantiation and state here ... 
-// or a roll into view 
+// I forsee genuine instantiation and state here ...
+// or a roll into view
 
 let port
 
 function init(dom, prt) {
-    port = prt 
+    port = prt
     console.log('DT INIT with dom', dom, 'and port', port)
     BZ.init(dom)
 }
@@ -58,7 +70,7 @@ function readXY(div){
 function writeDefDom(def, parentdom, debug) {
     // debug
     if (debug) console.log('writing for def', def)
-    // a div to locate it 
+    // a div to locate it
     let de = document.createElement('div')
     $(de).addClass('block').attr('id', def.id)
 
@@ -71,16 +83,16 @@ function writeDefDom(def, parentdom, debug) {
         evt.preventDefault()
         evt.stopPropagation()
 
-        // stop the D3 sim 
+        // stop the D3 sim
         // halting ... we don't have access to that here
-        // we need to roll this into view 
-        // save it for post-link world 
+        // we need to roll this into view
+        // save it for post-link world
 
         //offsetX = evt.clientX - domElem.getBoundingClientRect().left
         //offsetY = evt.clientY - domElem.getBoundingClientRect().top
 
         function domElemMouseMove(evt) {
-            // TRANSFORMS here to move div about on drag 
+            // TRANSFORMS here to move div about on drag
             evt.preventDefault()
             evt.stopPropagation()
             let ct = readTransform(de)
@@ -88,12 +100,12 @@ function writeDefDom(def, parentdom, debug) {
             ct.y += evt.movementY
             writeTransform(de, ct)
             drawLinks(parentdom)
-            // TODO rewrite redraw 
+            // TODO rewrite redraw
             //redrawLinks()
         }
 
         function rmOnMouseUp(evt) {
-            // would do save of position state here 
+            // would do save of position state here
             // TODO /\
             document.removeEventListener('mousemove', domElemMouseMove)
             document.removeEventListener('mouseup', rmOnMouseUp)
@@ -134,27 +146,27 @@ function writeDefDom(def, parentdom, debug) {
 }
 
 // PORTS (inputs and outputs) are <li> objects with unique IDs,
-// outputs hold a list of the unique id's they are connected to, for drawing 
-// beziers with 
+// outputs hold a list of the unique id's they are connected to, for drawing
+// beziers with
 // we're close, just
 /*
     - write message to manager
-    - receive newlink messages from manager 
-    - something for deleting links ? 
-    - f it all and get to the link link 
+    - receive newlink messages from manager
+    - something for deleting links ?
+    - f it all and get to the link link
 */
 function writePortDom(port, parent, inout, bigdom, debug) {
     if (false) console.log('port dom', port, parent.id, inout)
     let dom = $('<li>' + port.name + '</li>').addClass(inout).get(0)
     dom.id = parent.id + '_' + inout + '_' + port.name
     // this goes in so that we can handily draw links
-    dom.connectedTo = new Array() 
-    // let ... in is OK for zero-length arrays, but for ... of throws errors 
+    dom.connectedTo = new Array()
+    // let ... in is OK for zero-length arrays, but for ... of throws errors
     for(let conn in port.connections){
         let cn = port.connections[conn]
         dom.connectedTo.push('#' + cn.parentid + '_' + 'input' + '_' + cn.input)
     }
-    // messy global for the potential floater 
+    // messy global for the potential floater
     let floater = {}
     // the events
     function evtDrag(drag) {
@@ -164,25 +176,25 @@ function writePortDom(port, parent, inout, bigdom, debug) {
         writeTransform(floater, cp)
         drawLinks(bigdom)
     }
-    // startup the floater 
+    // startup the floater
     dom.addEventListener('mousedown', (down) => {
         console.log('MOUSEDOWN for', port.type, port.name, down)
-        // get the location to make the floater, 
+        // get the location to make the floater,
         let cp = BZ.getRightHandle(dom, bigdom.subscale)
         floater = $('<div>').attr('id', 'floater').append(port.type).get(0)
         floater.style.zIndex = '1'
         bigdom.appendChild(floater)
         // 'hookup' our floater and its berth
         dom.connectedTo.push('#floater')
-        // init out floater position, and put it in the dom 
-        writeTransform(floater, { 
-            s: bigdom.subscale, 
-            x: cp.x - 80 * bigdom.subscale, 
+        // init out floater position, and put it in the dom
+        writeTransform(floater, {
+            s: bigdom.subscale,
+            x: cp.x - 80 * bigdom.subscale,
             y: cp.y - (floater.clientHeight / 2) * bigdom.subscale
         })
-        // do relative moves 
+        // do relative moves
         bigdom.addEventListener('mousemove', evtDrag)
-        // and delete / act when mouse comes up 
+        // and delete / act when mouse comes up
         bigdom.addEventListener('mouseup', function evtUp(up) {
             console.log('MOUSEUP ON', up.target.id)
             // recall name and parent id from id
@@ -200,7 +212,7 @@ function writePortDom(port, parent, inout, bigdom, debug) {
             }
             writeMsg(msg)
             // do things to conn, then
-            // cleanup 
+            // cleanup
             bigdom.removeEventListener('mouseup', evtUp)
             bigdom.removeEventListener('mousemove', evtDrag)
             dom.connectedTo.splice(dom.connectedTo.indexOf('#floater'), 1)
@@ -249,7 +261,7 @@ function writeStateDom(state, parent) {
 
         default:
 
-            // + note on nonrec type 
+            // + note on nonrec type
             break
     }
     return dom
@@ -281,20 +293,20 @@ function writeMsg(msg){
 function drawLinks(dom) {
     // from within the div
     let outputs = $(dom).children('.block').children('.outputs').children('.output')
-    // clear all links 
+    // clear all links
     BZ.clear(dom)
     // and draw new ones
     for (let output of outputs) {
-        // finding the children to hookup to 
+        // finding the children to hookup to
         for(let conn in output.connectedTo){
             let hookup = $(dom).find(output.connectedTo[conn])
             if(hookup.length !== 1){
-                // this can happen when a dependent is not loaded yet 
+                // this can happen when a dependent is not loaded yet
                 console.log('missing connection')
             } else {
                 let hk = hookup.get(0)
                 let head = BZ.getRightHandle(output, dom.subscale)
-                let tail 
+                let tail
                 if(hk.id === 'floater'){
                     tail = BZ.getFloaterHandle(hk, dom.subscale)
                 } else {
@@ -314,4 +326,4 @@ export {
     writeTransform,
     writeDefDom,
     drawLinks
-}
\ No newline at end of file
+}
diff --git a/view/fconstant.js b/view/fconstant.js
index 037952ba612049ce9d2678f175c5adefe3c767c7..c8e9cc6f6a8b4064c94a3c612dc32fbd319502eb 100644
--- a/view/fconstant.js
+++ b/view/fconstant.js
@@ -1,5 +1,12 @@
+/*
+view/fconstant.js
+
+D3 utility, not mine
+*/
+
+
 // constant: a fn' wrpper for a value,
-// because chained accessors ... 
+// because chained accessors ...
 
 export default function(x) {
   return function() {
diff --git a/view/fexample.js b/view/fexample.js
index 6c4cd7389f98224b19974b68cc099b39d2b351c8..d7a86e788a9e8520d1cc4f0e7487065a072e503b 100644
--- a/view/fexample.js
+++ b/view/fexample.js
@@ -1,3 +1,15 @@
+/*
+view/fexample.js
+
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+
 // this is a custom d3 force, written as an es6 module like the lord intended
 // an experiment,
 // also: jake learns how the pros write js (?)
diff --git a/view/fjiggle.js b/view/fjiggle.js
index de46cffb01df84a5612b7502cb76a49c3398f586..e40c6bde8918cce41727e0fee37fdab0d6c07905 100644
--- a/view/fjiggle.js
+++ b/view/fjiggle.js
@@ -1,3 +1,10 @@
+/*
+view/fjiggle.js
+
+D3 utility, not mine 
+*/
+
+
 export default function() {
   return (Math.random() - 0.5) * 1e-6;
 }
diff --git a/view/flink.js b/view/flink.js
index 34895f8f1507cb15c672539af71330ef8b3ebd20..83389de2038e91b66776a86f60c15b21b6e97b9c 100644
--- a/view/flink.js
+++ b/view/flink.js
@@ -1,3 +1,17 @@
+/*
+view/flink.js
+
+D3 custom force for def-to-def links 
+
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+
 import constant from "./fconstant.js";
 import jiggle from "./fjiggle.js";
 
diff --git a/view/frect.js b/view/frect.js
index da715ff5965d0c3e57a7c8371458f891464c30cf..2fa90ab43e747326688547b2f4a4c554420db088 100644
--- a/view/frect.js
+++ b/view/frect.js
@@ -1,3 +1,17 @@
+/*
+view/frect.js
+
+D3 custom force for rectangular collisions, needs work 
+
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+
 import constant from "./fconstant.js";
 import jiggle from "./fjiggle.js";
 
@@ -103,7 +117,7 @@ export default function(radius) {
         }
         return
       } // end if-data
-      return updated 
+      return updated
     } // end apply()
   }
 
diff --git a/view/vbzt.js b/view/vbzt.js
index fcb689819b0721dacd60c7f941f0ca23de6587e7..de1d730299f5b8a4b1b54e07153f35f207331ec4 100644
--- a/view/vbzt.js
+++ b/view/vbzt.js
@@ -1,3 +1,18 @@
+/*
+view/vbzt.js
+
+bezier drawing
+
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+
+
 /* ---------------------------        ---------------------------- */
 /* ----------------------- DRAWING BEZIERS ----------------------- */
 /* ---------------------------        ---------------------------- */
diff --git a/view/vcontextmenu.js b/view/vcontextmenu.js
index 626583468db872700d094558c11c01e716e25e98..34b4d6eb5e3592ab749c81709a597f2966560775 100644
--- a/view/vcontextmenu.js
+++ b/view/vcontextmenu.js
@@ -1,3 +1,15 @@
+/*
+view/vcontextmenu.js
+
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+
 // writes the context (right-click) menu ...
 
 function cfContextMenu(evt, view, dt) {
diff --git a/view/vdef.js b/view/vdef.js
index 2a3427052ddbc3e81f1f1d8aea243a810d6a3579..0192da13d1e0f39262185f25b12fef9b0461f66c 100644
--- a/view/vdef.js
+++ b/view/vdef.js
@@ -1,3 +1,15 @@
+/*
+view/vdef.js
+
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+
 // a def is not a hunk, it's a definition of a hunk - the mirror image
 
 import {
diff --git a/view/vdom.js b/view/vdom.js
index 11339dfa34a8abe7453fd7c91558ac57d8279a26..36aa27c004b31e85be0303a35009d57c6c713ca6 100644
--- a/view/vdom.js
+++ b/view/vdom.js
@@ -1,3 +1,15 @@
+/*
+view/vdom.js
+
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+
 // ay
 
 function DomTools(View) {
diff --git a/view/vfloater.js b/view/vfloater.js
index 643d7bf10b6a897f48f5735b6687e1b9f633fedc..547f062c48eee3c0967ef24eaae3b7560fdeb5ed 100644
--- a/view/vfloater.js
+++ b/view/vfloater.js
@@ -1,4 +1,14 @@
-// ui divs / doms / and tigers
+/*
+view/vfloater.js
+
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
 
 import DomTools from './vdom.js'
 
diff --git a/view/vfloop.js b/view/vfloop.js
index 69361acc348d43771190f9b74084f0da1751c85e..e108190bde75bd51c419634e46b951a0a282321a 100644
--- a/view/vfloop.js
+++ b/view/vfloop.js
@@ -1,4 +1,16 @@
-// force loop for the dom div document world
+/*
+view/vfloop.js
+
+force loop for the dom div document world
+
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
 
 import frect from './frect.js'
 import flink from './flink.js'
diff --git a/view/vmsg.js b/view/vmsg.js
index f49eebf85387c52b2c9ce9b20e848729048d2d6e..7acd75cc4711c0c4e4a9aca3239b20c902c24ba0 100644
--- a/view/vmsg.js
+++ b/view/vmsg.js
@@ -1,3 +1,17 @@
+/*
+view/vmsg.js
+
+largely unused appendage
+
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+
 // micro html console
 
 function MessageBox(View) {
diff --git a/view/vptch.js b/view/vptch.js
index 0d85ef0736c78f8af443979510cb46d01fd70f7c..033c87df8a0b5e110ef2fda1417d502b27989e6d 100644
--- a/view/vptch.js
+++ b/view/vptch.js
@@ -1,3 +1,15 @@
+/*
+view/vptch.js
+
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+
 // patches are programs that are *incomplete without you*
 
 import GoGetter from '../../gogetter.js'
diff --git a/view/vtoplevel.js b/view/vtoplevel.js
index c1b3e5be6510447412988da88d9664371fbf5a97..9cbeed7b6dba0622c5fcb1385b773c211cbd4153 100644
--- a/view/vtoplevel.js
+++ b/view/vtoplevel.js
@@ -1,3 +1,15 @@
+/*
+view/vtoplevel.js
+
+Jake Read at the Center for Bits and Atoms
+(c) Massachusetts Institute of Technology 2019
+
+This work may be reproduced, modified, distributed, performed, and
+displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects.
+Copyright is retained and must be preserved. The work is provided as is;
+no warranty is provided, and users accept all liability.
+*/
+
 // just this fn...
 
 import cfContextMenu from './vcontextmenu.js'