Added documentation and gererated documentation.