Pattern Cpmpose implemented , in progress visitor pattern