Source: https://wndw.net/pdf/wndw2-en/ch03-design.pdf