Starting on the c-api code generator