First part: http://joyreactor.com/post/933156
Second part: http://joyreactor.com/post/937879
Third part: http://joyreactor.com/post/943959