DesignPatterns exercise done