new Library functions