This was just something created for fun and as a learning exercise. I did sneak in 2 fixes before pushing the changes, but they were just bug fixes :)