Updated C interface