bookshelf object