add functions library