Changes for Visitor pattern.