This article is kind of hard to read. I'm going to do some significant modifications, and add the main exceptions. Let me know if this is ok.