C implemetations