Nice article - very clear and detailed explanations.