functions library for c