add codegen for variables