Como definir / usar vários roteiros usando backbone e requirejs

Eu dividi meu aplicativo em vários aplicativos.

main.js
app.js
app1/
  |- routing
  |- controller
  |- app
app2/
  |- routing
  |- controller
  |- app

1) Quando tento usar os roteadores emapp1, eles trabalham.
2) Quando tento usar os roteadores emapp2, eles não funcionam.
3) Se eu comentar a linha'js/app1/routing', emmain.js os roteadores emapp2 trabalhos.

Por que obtenho esse comportamento?
Existe algum exemplo de aplicativo usando vários roteamento e requirejs no github?

obrigado.

Aqui está meu código:

** main.js **

define([
    'js/app',
    'js/app1/routing', // the routers in this app work
    'js/app2/routing'  // the routers in this app do not work but 
                       // if I comment the previous line (js/app1/routing',) 
                       // they works
],
function (App)
{
    "use strict";
    App.initialize();
});

** app.js **

define([],
function ()
{
    "use strict";
    var app = new Backbone.Marionette.Application();

    return app;
});

** app1 / rotuing **

define(['backbone','app1/controller'], function(Backbone, controller)
{
    "use strict";
    var Router = Backbone.Marionette.AppRouter.extend({

        appRoutes: {
            '*defaults': 'index1'
        }

    });
    return new Router({
        controller: controller
    });

});

** app2 / routing.js **

define(['backbone','app2/controller'], function(Backbone, controller)
{
    "use strict";
    var Router = Backbone.Marionette.AppRouter.extend({

        appRoutes: {
            'app2': 'index2'
        }

    });
    return new Router({
        controller: controller
    });

});

questionAnswers(1)

yourAnswerToTheQuestion