implemented Vistor.fetch