added another type of visitor with different functionality