https://medium.com/@aligk_92815/understanding-binary-language-and-binary-trees-key-concepts-in-computer-science-faa71030589