Added license headers and class documentation