use size_t for string length C API