added explicit interfaces to C routines