Revert "codegen"

This reverts commit d8d48d87cb361a3a4187a925365ed7d467fdcb17.
Revert "Revert "codegen""

This reverts commit 4c207808b3e1c1f87976fd29c2fb68de9d7fb0a5.