the c code...