This is a long read, but worth it.
http://tinyurl.com/y733xra5