Adding first pass at documentation, still incomplete