Added a bunch of submodules for advanced functionality