adding submodules and proper naming