diff --git a/docz/docs/03-demos/31-engines.md b/docz/docs/03-demos/31-engines.md
index be50e7f..cfd9ebc 100644
--- a/docz/docs/03-demos/31-engines.md
+++ b/docz/docs/03-demos/31-engines.md
@@ -95,8 +95,8 @@ mv duktape-2.7.0/src/*.{c,h} .
 1) Download the standalone script, shim and test file:
 
 
 
diff --git a/docz/docs/03-demos/33-localfile.md b/docz/docs/03-demos/33-localfile.md
index 93cfd4a..5222255 100644
--- a/docz/docs/03-demos/33-localfile.md
+++ b/docz/docs/03-demos/33-localfile.md
@@ -139,6 +139,13 @@ drop_dom_element.addEventListener("drop", handleDropAsync, false);
 
 ## File System Access API
 
+:::caution Limited Browser Support
+
+At the time of writing, browser support was fairly limited.  Chrome introduced
+the feature in version 86.  Safari did not support File System Access API.
+
+:::
+
 _Reading Files_
 
 `window.showOpenFilePicker` shows a file picker and resolves to an array of
@@ -220,7 +227,6 @@ function SheetJSRoundTripFileSystemAPI() { return ( 
     suggestedName: "SheetJSRT.xlsx",
     types: [ { description: 'XLSX', accept: { 'application/vnd.ms-excel': ['.xlsx'] } } ]
   });
-  console.log(wFile);
   const wstream = await wFile.createWritable();
 
   /* write */
@@ -237,8 +243,14 @@ function SheetJSRoundTripFileSystemAPI() { return ( 
 
 ## File and Directory Entries API
 
-In the web browser, the File and Directory Entries API does not project to the
-local file system. `cordova-plugin-file` *does* write to device in mobile apps!
+:::caution Deprecated
+
+In the web browser, the File and Directory Entries API has been deprecated and
+is not recommended for new applications.
+
+`cordova-plugin-file` still uses the API patterns.
+
+:::
 
 _Writing Files_
 
diff --git a/docz/docs/03-demos/44-legacy.md b/docz/docs/03-demos/44-legacy.md
index 017aeee..79b7a30 100644
--- a/docz/docs/03-demos/44-legacy.md
+++ b/docz/docs/03-demos/44-legacy.md
@@ -36,8 +36,8 @@ This demo includes all of the support files for the Flash and ActiveX methods.
 1) Download the standalone script and shim to a server that will host the demo:
 
 
 
 2) [Download the demo ZIP](pathname:///ie/SheetJSIESupport.zip) to the server.
diff --git a/docz/docs/03-demos/45-git.md b/docz/docs/03-demos/45-git.md
index 39ed00c..545342e 100644
--- a/docz/docs/03-demos/45-git.md
+++ b/docz/docs/03-demos/45-git.md
@@ -186,6 +186,7 @@ The first argument to the post-processing script is the filename.  The file can
 be read with `XLSX.readFile` directly. `XLSX.utils.sheet_to_csv` generates CSV:
 
 ```ts title="postprocess.ts"
+// @deno-types="https://cdn.sheetjs.com/xlsx-latest/package/types/index.d.ts"
 import * as XLSX from 'https://cdn.sheetjs.com/xlsx-latest/package/xlsx.mjs';
 /* load the codepage support library for extended support with older formats  */
 import * as cptable from 'https://cdn.sheetjs.com/xlsx-latest/package/dist/cpexcel.full.mjs';
@@ -242,7 +243,6 @@ You will be redirected to the new project.
    the main editor window:
 
 ```ts title="postprocess.ts"
-import { writeCSV } from "https://deno.land/x/flat/mod.ts";
 // @deno-types="https://cdn.sheetjs.com/xlsx-latest/package/types/index.d.ts"
 import * as XLSX from 'https://cdn.sheetjs.com/xlsx-latest/package/xlsx.mjs';
 /* load the codepage support library for extended support with older formats  */
@@ -261,7 +261,8 @@ const first_sheet = workbook.Sheets[workbook.SheetNames[0]];
 const csv = XLSX.utils.sheet_to_csv(first_sheet);
 
 /* write CSV */
-await writeCSV(out_file, csv);
+// highlight-next-line
+Deno.writeFileSync(out_file, new TextEncoder().encode(csv));
 ```
 
 
diff --git a/docz/docs/07-csf/04-book.md b/docz/docs/07-csf/04-book.md
index 957007f..0bad16b 100644
--- a/docz/docs/07-csf/04-book.md
+++ b/docz/docs/07-csf/04-book.md
@@ -4,9 +4,12 @@ sidebar_position: 4
 
 # Workbook Object
 
-`workbook.SheetNames` is an ordered list of the sheets in the workbook
+For a given workbook object `wb`:
 
-`wb.Sheets[sheetname]` returns an object representing the worksheet.
+`wb.SheetNames` is an ordered list of the sheets in the workbook.
+
+`wb.Sheets` is an object whose keys are worksheet names (from `SheetNames`) and
+whose values are worksheet objects.
 
 `wb.Props` is an object storing the standard properties.  `wb.Custprops` stores
 custom properties.  Since the XLS standard properties deviate from the XLSX
@@ -14,6 +17,8 @@ standard, XLS parsing stores core properties in both places.
 
 `wb.Workbook` stores [workbook-level attributes](#workbook-level-attributes).
 
+When reading a file, `wb.bookType` is the determined book type.
+
 ## File Properties
 
 The various file formats use different internal names for file properties.  The
diff --git a/docz/docs/09-miscellany/02-errors.md b/docz/docs/09-miscellany/02-errors.md
index 39c6f9b..acbf706 100644
--- a/docz/docs/09-miscellany/02-errors.md
+++ b/docz/docs/09-miscellany/02-errors.md
@@ -156,7 +156,6 @@ _Adding a cell to a range_
 function range_add_cell(range, cell) {
   var rng = XLSX.utils.decode_range(range);
   var c = typeof cell == 'string' ? XLSX.utils.decode_cell(cell) : cell;
-  console.log(rng, c);
   if(rng.s.r > c.r) rng.s.r = c.r;
   if(rng.s.c > c.c) rng.s.c = c.c;
 
diff --git a/docz/docs/09-miscellany/05-contributing.md b/docz/docs/09-miscellany/05-contributing.md
index 86d13a9..e1bfa41 100644
--- a/docz/docs/09-miscellany/05-contributing.md
+++ b/docz/docs/09-miscellany/05-contributing.md
@@ -10,22 +10,19 @@ important to ensure code is cleanroom.  [Contribution Notes](https://raw.githubu
 
   File organization  (click to show)