replaced explicit lib with a submodule