Initial commit.  Almost ready pending a testing client