initial commit with user, library and publisher models