Feature/module

Initial merge of modularisation