Major refactoring (WIP)
automated submodule update