refactored 'visitor' for prov statements