# Implementation

- [Learn how Umbraco works](/umbraco-cms/implementation/learn-how-umbraco-works.md): Get to know the Umbraco codebase.
- [Routing](/umbraco-cms/implementation/default-routing.md)
- [Controller & Action Selection](/umbraco-cms/implementation/default-routing/controller-selection.md)
- [Execute Request](/umbraco-cms/implementation/default-routing/execute-request.md)
- [Request Pipeline](/umbraco-cms/implementation/default-routing/inbound-pipeline.md)
- [Custom Routing](/umbraco-cms/implementation/custom-routing.md): Learn everything you need to know about custom routing in Umbraco CMS.
- [Adding a hub with SignalR and Umbraco](/umbraco-cms/implementation/custom-routing/signalr.md): Umbraco ships with signalR installed, find out how to add your own hub(s) to the existing setup
- [Controllers](/umbraco-cms/implementation/controllers.md): An Umbraco API Controller is an ASP.NET WebApi controller that is used for creating REST services.
- [Data Persistence (CRUD)](/umbraco-cms/implementation/data-persistence.md)
- [Composing](/umbraco-cms/implementation/composing.md): This article covers the topic of composing in Umbraco.
- [Integration Testing](/umbraco-cms/implementation/integration-testing.md): A guide to getting started with integration testing in Umbraco
- [Nullable Reference Types](/umbraco-cms/implementation/nullable-reference-types.md): In this article we describe what Nullable reference types is.
- [Services and Helpers](/umbraco-cms/implementation/services.md): Umbraco has a range of 'Core' Services and Helpers that act as a 'gateway' to Umbraco data and functionality to use when extending or implementing an Umbraco site.
- [Circular Dependencies](/umbraco-cms/implementation/services/circular-dependencies.md)
- [Unit Testing](/umbraco-cms/implementation/unit-testing.md): A guide to getting started with unit testing in Umbraco
