After the last refactor some modules grow in size, use haddock notation to split them in sections and add documentation to the functions.