Add Visitor Patter.
Add Comanf Pattern.