Added some comments to clarify some of the decisions taken...