Fix executable name
Add all the 'official' code from the book