add marionette demo project
refactor