ICANN was created through a Memorandum of Understanding between the US Department of Commerce and ICANN to transition management of the Domain Name System from the US government to the global internet community. ICANN is a privately held non-profit that regulates top-level domains and domains through a bottom-up policy process involving all necessary stakeholders. ICANN has three main roles - managing generic top-level domains through the GNSO, managing IP addresses through the ASO, and managing country-code top-level domains through the ccNSO.