license headers, api refactor