proposal for the new C API