added new library functions