Updated to use the new Visitor conventions.