Initial commit of code and submodules