my custom version of the library