https://github.com/daviddlw/HeadFirstDesignPattern.git