Refactored CLikeCodegen