practice Head First Design Patterns in PHP, code is usually much simple than examples in the book