Newly edited and improved for, hopefully, better explanations, more diagrams, and even code examples in the project!