refactor using marionettejs