refactor by extending marionette core application