Huge documentation update.