https://www.codelist.ca/2022/08/digital-circuit-design-and.html