organized it to be a submodule