added c stuff