create BaseVisitor class