use submodule for messages