general pourpuse C library