First part: http://joyreactor.com/post/892904
Second part: http://joyreactor.com/post/894439
Third part: http://joyreactor.com/post/896442