Added Visitor pattern
Added Visitor pattern
Added Visitor pattern
Added Visitor pattern