Visitor Pattern code changes