book shelfes implementation