Commenting

Reading through it all now, commenting as I go. All header files are
commented :)