lib for submodule