apply module architecture + module namespaces support