Excellent work. You have really grasped the concepts here. I like the way you have laid everything out - makes it very easy to read!