removed submodule architecture -- too hard to maintain