converting submodules to be private

**NOT READY FOR MERGE**, just letting the tests run as I go.