(I know this topic can be controversial but this is really well written).