added a bunch of visit methods