Add code generation source
First steps in Code generation
Merge branch 'generation'