add headfirst design pattern intro example