This is cool, I’m going to try write my own implementation to follow along as a learning exercise