make shared visitor