Added documentation and license headers