Adds most of the documentation required for the library and updates some properties/methods for better clarification.