starting using JoinVisitor