only use one visitor for all classes