Added some comments. More to follow