some new library functionality