added primitives in C backend