refine C ABI