Released the version of the implementation for part 2 of the blog series