Initial chapter 4 commit with searchengine.py