start visiting
section three should use visitor