fix visit method, divided visit & visitup