diff --git a/README.md b/README.md
index 61fbf96385ccd4bc1bd576b06a2f46b82deeb166..9917c2d2369ad207c29b8cb379610f6df4642519 100644
--- a/README.md
+++ b/README.md
@@ -1,15 +1,36 @@
-# Recreating bulletin
+# Recreating BULLETIN
 
 Back in university we used to use a system called BULLETIN on the
 local VAX/VMS cluster.  It eventually went away due to security issues.
 But I was thinking it might be fun to recreate.  First though I'd like
 an historic git repo that covers the early years.
 
-This branch is where the gathering of the files was done and where they
-were converted into more usable formats. The `historical` and `master`
-branches contain the actual timeline of the code.
+This repository contains the following main branches:
 
-## Who wrote it
+  * `release`    - A recreation of BULLETIN written in Go and designed
+    to run under a single Unix user.                        84ff1ce
+  * `conversion` - Multiple versions of the original source code.
+
+The bulletin binary is designed to be run via the ssh command option for
+an authorised key.  That will specify the user. This means that bulletin
+will initialise itself with that user for that session.
+
+The code is organised like so:
+
+  * `ask`       - Contains routines for asking the user questions.
+  * `batch`     - Contains the batch routines - the `-b` flag.
+  * `dclish`    - A command line parser akin to DCL.
+  * `decus`     - Historical version this version is based on.
+  * `editor`    - An editor function.
+  * `folders`   - A higher level version of `storage` routines.
+  * `key`       - Routines for handling ssh keys.
+  * `pager`     - A pager function.
+  * `repl`      - Actions and commands for the REPL.
+  * `storage`   - Lower level storage routines.
+  * `this`      - The current session.
+  * `users`     - Validation routines for users.
+
+# History of BULLETIN
 
 First, git commits need an author.  It would be nice to figure out
 the author.  The version I used I suspect was written by
@@ -20,116 +41,10 @@ Releases back then did not have commit messages or changelogs. However
 there do seem to have been some announcements and the code does note
 some of the contributors.
 
-## Where to find BULLETIN
+## Where to find historical BULLETIN releases
 
-The place to get it seems to be the
-[DECUS archives](http://decuslib.com/).
+The place to get it seems to be the [DECUS archives](http://decuslib.com/).
 I tracked it down with help from Kent Brodie who I discovered via
 [an old USENET post](https://groups.google.com/forum/#!search/bulletin$20vms/comp.os.vms/rzM2LQMl6Jo/y1BKhO7dv80J)
 where he too was trying to track the software down. In 1994.
 
-## Extracting from tape
-
-To trawl through looking for bulletin source distros (using the
-[zip files](http://decuslib.com/zips/) from decuslib:
-
-```
-for f in *.zip; do
-  unzip -l $f 2> /dev/null | grep -qi /bulletin && echo $f;
-done
-```
-
-That yields this list of zip files:
-
-I did this on an internet server since my bandwidth is tiny. I only
-copied down the relevant bits of the zip files which I extracted like so:
-
-```
-for f in *.zip; do
-  unzip -l $f 2> /dev/null | grep -qi /bulletin \
-    && unzip $f $(unzip -l $f | grep -i /bulletin | awk '{print $4}');
-done
-tar jcf decus.tar.bz2 decus
-```
-
-This was used to create `decus.tar.bz2` which was then extracted as
-`decus/` in this archive.
-
-## Creating the BULLETIN source repo (or branch)
-
-The files in the ZIP archives are not ready in their current state to
-make the repo. A number of things had to be done to get them ready for
-a proper historical source code archive.  The `conversion` branch tracks
-the steps taken to prepare to recreate the historical archive.
-
-Once the `conversion` branch seems complete, I'll start creating
-the historical archive.
-
-The subsections below track the major conversion probems encountered
-and the steps taken to address them.
-
-### Dependencies
-
-The shell snippets assume zsh (the `**/*.ext` idiom gets used a lot).
-Need a `gcc` toolchain.  Need the `unzip`, `unar` and `zoo` utilities.
-
-### File conversions
-
-Some files are in VMS record formats.  These are handled by
-`convert-vms-record-fmt.c` which is compiled to `convert-vms-record-fmt`.
-
-### .mai files
-
-I think these are mail archives.  Might need a script to turn those
-into mbox files.
-
-### Unpacking archives.
-
-Within the zip files there are sometimes other archive files.
-These had to be extracted.
-
-For .zoo files:
-
-```
-for f in **/*.zoo; do
-  (cd ${f%\/*} && zoo -extract ${f##*\/} && rm ${f##*\/});
-done
-```
-
-For .zip files:
-
-```
-for f in **/*.zip; do
-  (cd ${f%\/*} && unzip ${f##*\/} && rm ${f##*\/});
-done
-```
-
-For .lzh files:
-
-```
-for f in **/*.lzh; do
-  (cd ${f%\/*} && unar ${f##*\/} && rm ${f##*\/});
-done
-```
-
-### .com files
-
-So it might be possible to run DCL on Linux.  A rather
-[exhaustive list](http://jonesrh.info/dcll/dcll_why_i_use.html)
-of the options seems to indicate that
-[PC-DCL](http://users.skynet.be/michel.valentin/) might be an option.
-
-### General cleanup
-
-  * Removed exe and obj files: `git rm **/*.{exe,obj}`
-
-### Committing to the BULLETIN git repo
-
-To get the right dates and authors in git, need to tweak these environment
-variables for each commit.
-
-```
-export GIT_AUTHOR_NAME="Mark London"
-export GIT_AUTHOR_EMAIL="mrl%foo@bar"
-export GIT_AUTHOR_DATE="Jan 28 20:52:53 1982 +0000"
-```