adding Head First Design Patterns code