Added some basic commenting, cbf to add more at the moment.