progress on bookshelf functions