refactored tests into submodule