updated the library, old functionality, better performance