Fixed a lot of documentation and added documentation generation process