update library to be more usefull