Modified for easier submodule drop ins