Refactor to simplify
added submodule
test submodule