Starting over and revising, focusing on the C API first.