revised modules architecture