Add C language implementations