restructured the blog post and divided it into multiple parts