Reorganized project into two sub projects to pave the way for the generation code