update C wrapper