rearrange C ext for clarity