adding an initial version of ModuleInitialContextFactory