more marionette refactoring