Added a lot of documentation. Also added a lot of unsupported code, just
skeletoning it, and giving it a framework to work around.