Partial implementation of PragBookshelf
Completed PragBookshelf excercise (chapter 7)