\begin{abstract} Late 2007 I started to rewrite the gui engine of Wesnoth, this project is called the gui2 project. A lot of code and documentation has been written since. The documentation is available at: \begin{itemize} \item \url{https://wiki.wesnoth.org/GUIToolkit} The general information regarding the project and documentation regarding the WML used. \item \url{https://devdocs.wesnoth.org} The general doxygen information. \item \url{https://devdocs.wesnoth.org/pages.html} Contains some links to more gui2 specific information. \end{itemize} This documentation describes a lot of the details and the wiki describes some of the design from the WML side. Doxygen contains some information regarding the design of the C++ side but it misses the overall design. This paper tries to fill that gap, trying to explain more of the overall design and some of the design choices. \end{abstract}