Added better support for C codegen