practise in reading Head First Design Patterns