https://nanoblocktech.com/blog/post/the-rust-programming-language-all-you-need-to-know