I ended up writing this blog post twice because my first attempt went totally off