more about code generation for control flow