THIS code generation. Works towards #36