Marionette

**!!! NOT READY FOR MERGE YET !!!**