Because reinventing the wheel is the best way to learn about wheels
github.com