First separation into different modules.