Added internal documentation

Documentation for all the classes and methods in the project.