Thank for such an educative article and it really helped me understand these concepts. Keep on producing such great articles.