Moved the module map into its own file

Combined ctor functions