Rewrite

New project structure to facilitate distributed plugins