Begin modularisation
Merge branch master