some transitions in C API (not ideal)