prepare dynamical visitor