compiles correctly, submodule added