optimize visitor