Done most of the documentation