idea: less variables and allocations in CBC code