https://jytifuvohudehehe.awordathought.com/software-architecture-book-9970iw.php