Add NVM support and update submodules