first version of the library