---
title: "Namespacing by Separation of Concerns"
canonical: "https://support.apollographql.com/space/ETKB/639303774/Namespacing%20by%20Separation%20of%20Concerns"
format: markdown
---
Most GraphQL APIs provide their capabilities as root-level fields of the `Query` and `Mutation` types, resulting in a flat structure. For example, the GitHub GraphQL API has approximately 200 of these root-level fields! Even with tools like the Apollo Explorer, navigating and understanding larger "flat" graphs can be difficult.

To improve the logical organization of our graph's capabilities, we can define **namespaces **for our root-level operation fields. These are object types that in turn define query and mutation fields that are all related to a particular concern.

[Learn more on the dev docs](https://www.apollographql.com/docs/technotes/TN0012-namespacing-by-separation-of-concern/).