added C support