C# programs are organized using namespaces. Namespaces are used both as an "internal" organization system for a program, and as an "external" organization system-a way of presenting program elements that are exposed to other programs. Using-directives (16.3) are provided to facilitate the use of namespaces.