Adding a lot of documentation to the module