I'm trying to understand how the route config works in the MVC 5.

I have the following structure for my application:

**BaseCRUDController**

```
public class BaseCRUDController<TEntity, TEntityViewModel> : Controller 
    where TEntity : class
    where TEntityViewModel : class
{
    private readonly IBaseService<TEntity> baseService;

    public BaseCRUDController(IBaseService<TEntity> service)
    {
        this.baseService = service;
    }

    [HttpGet]
    public virtual ActionResult Index()
    {
        IList<TEntityViewModel> entities = baseService.FindFirst(10).To<IList<TEntityViewModel>>();
        return View(entities);
    }

```

}

**CountriesController**

```
[RouteArea("management")]
[RoutePrefix("countries")]
public class CountriesController : BaseCRUDController<Country, CountryViewModel>
{
    private readonly ICountryService service;

    public CountriesController(ICountryService service) 
        : base(service)
    {
        this.service = service;
    }
}

```

What I'm trying to do is simple: <http://myapplication.com/management/countries>.
I have many others controllers that the superclass is the base controller. I'm doing this way to avoid code repetition, since that the controllers have similar structure.

The problems are: 

* I can't reach the url that I want (/management/countries)
* I don't know how to configure my Home Controller, because I want that it could be reached by <http://myapplication.com>

How could I fix these problems?

My route config is like that:

```
public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapMvcAttributeRoutes();

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
    }
}

```