more incremental work towards raw c binding