first draft of the library