working on C support