v2

Addition of version 2 code.  The goals of version 2 are to split up the
core functions from the application-specific functions, automate
descriptions, and automate authentication.