updated class documentation. Added various exception changes where required.