core changes, module architecture setup