Working on the C interface