Chapter 8 p216 - implemented category filtering and corrected page count