added more interfaces into the C library