thinking in a strategy for code generation