split context module to smaller submodules