Hacking code improvements. Reorder some code to make it easier to explain in the book. Now using a smaller (but more sensible) dictionary file.