removed C impl