Moves stuff into different modules
Adds more information in documentation