https://edison-learn.com/combinatorial-logic-in-plain-language/