Adding initial codegen work