Add documentation
Improve tests
Add the IO and ModuleNotFound exceptions