used first class-based view
End of Appendix B