# Cross-cutting concern > (in Aspect-oriented programming) Cross-cutting concern (in [Aspect-oriented programming](https://wiki.g15e.com/pages/Aspect-oriented%20programming.txt)) Cross-cutting concern The concern that doesn't stay inside of any one module boundary such as: - System-wide error-handling - Contract enforcement (see [Contract-driven development](https://wiki.g15e.com/pages/Contract-driven%20development.txt)) - Distribution concerns - Feature variations - Context-sensitive behavior - Persistence - Testing Cross-cutting concern is inherent in complex systems. But cross-cutting concerns have a clear purpose and a natural structure. Cross-cutting concern's natural structure is: - Defined set of methods - Module boundary crossings - Points of resource utilization - Lines of dataflow - … In , we can use [aspects](https://wiki.g15e.com/pages/Aspect%20(AOP.txt)) to capture the structure of cross-cutting concerns explicitly in a modular way, linguistic and with tool support. Aspects are well modularized cross-cutting concerns.